C++
1. Дана программа, которая определяет последнее положительное и первое отрицательное число в массиве. Найти и исправить синтаксические и логические ошибки, перечислив их.
#include
using namespace std;
int main()
{
double size = 8;
double arr[size]={-5.7, 6.0, 2, 0, -4.7, 6, 8.1, -4, 0};
int positive = 0;
for (int i = size; i >= 0; i++)
{
if (arr[i] > 0)
{
positive = arr[i];
break;
}
}
int negative = 0;
for (int i = 0; i < size; i++)
{
if (arr[i] < 0)
{
negative = arr[i];
break;
}
}
cout << "Last positive number: " << positive << endl;
cout << "First negatine number: " << negative << endl;
return 0;
}
//////////
Входными данными во всех описанных ниже заданиях является массив из 10 элементов, заполненный
пользователем с клавиатуры.
Ответы на вопрос:
#include <iostream>
using namespace std;
int main()
{
//double size = 8;//необходима константа на целое число
const int size = 8;
//double arr[size] = { -5.7, 6.0, 2, 0, -4.7, 6, 8.1, -4, 0 }; //лишнее число. Должно быть 8
double arr[size] = { -5.7, 6.0, 2, 0, -4.7, 6, 8.1, -4 };
//int positive = 0; //в массиве тип double, будет потеря данных если использовать int
double positive = 0;
//for (int i = size; i >= 0; i++)//если идем с конца, то нужно начинать с size-1, т.к. нумерация в массиве с нуля и i--, т.к. идем с конца
for (int i = size - 1; i >= 0; i--)
{
if (arr[i] > 0)
{
positive = arr[i];
break;
}
}
//int negative = 0;//в массиве тип double, будет потеря данных если использовать int
double negative = 0;
for (int i = 0; i < size; i++)
{
if (arr[i] < 0)
{
negative = arr[i];
break;
}
}
cout << "Last positive number: " << positive << endl;
cout << "First negatine number: " << negative << endl;
return 0;
}
Объяснение:
Популярно: Информатика
-
asdsssssssssss12408.06.2021 23:34
-
Анютик20051127.03.2020 21:17
-
Kirikplay1128.02.2022 03:32
-
Всенорм111116.06.2022 09:02
-
Eldar100102.10.2020 14:40
-
kamil777708.12.2021 04:15
-
BoDuChKa22.07.2020 05:44
-
miroslavuvarovozq4v402.08.2021 04:32
-
kirilll223325.06.2021 08:17
-
younightmare17.03.2020 06:49