Информатика, вопрос задал DavidDaviduch , 1 год назад

(C++) - Дана програма, яка визначає останнє додатне і перше від'ємне число в масиві. Знайти і виправити синтак-сичні й логічні помилки

#include
using namespace std;
int main()
{
double size = 8;
double arr[size] = { -5.7, 6.0, 2, 0, -4.7, 6, 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;
}

Ответы на вопрос

Ответил qlsadf
1

Ответ:

Ось виправлена програма з виправленнями синтаксичних та логічних помилок:

#include <iostream>

using namespace std;

int main()

{

const int size = 8;

double arr[size] = {-5.7, 6.0, 2, 0, -4.7, 6, 1, -4};

double positive = -1; // ініціалізуємо значенням, яке точно не з'явиться у масиві

for (int i = size - 1; i >= 0; i--) // змінюємо умову циклу, щоб ітерації відбувалися в межах масиву

{

if (arr[i] > 0)

{

positive = arr[i];

break;

}

}

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 negative number: " << negative << endl;

return 0;

}

Зміни, що були внесені:

   Змінена тип змінної size з double на const int, щоб можна було використовувати її як розмір масиву

   Ініціалізовано змінну positive значенням, яке точно не з'явиться у масиві, щоб мати можливість розрізнити, чи був у масиві додатній елемент, чи ні

   Змінена умова циклу для першого циклу for, щоб ітерації відбувалися в межах масиву (ітерація виходить за межі масиву, якщо i дорівнює size)

   Виправлено помилку в назві змінної в другому cout, де повинно бути "negative", а не "negatine"

Объяснение:


DavidDaviduch: Ідеальна робота
qlsadf: :)
Новые вопросы