Предмет: Информатика, автор: wadawdada

Срочно,программирование 8 класс c++;Сделать надо только cout
Ввести массив из N чисел.Заменить все отрицательные элементы на 0.
Ввод:5
5 -2 0 -3 6
Вывод:
5 0 0 0 6
Задача:
#include

using namespace std;

int main()
{
int N,i=0,d=0;
cin>>N;
int a[N];
for(int i=0;i!=N;i++)
{
cin>>a[i];
}
for(int i=0;i!=N-1;i++)
{
if(a[i]<0)
{
a[i]=0;
}
}

Сдесь!!!



return 0;
}


settom: int a[N]; так делать нельзя, нужно int *a = new int[N];
settom: Да и вот это for(int i=0;i!=N-1;i++) я бы заменил на более конкретный вариант for(int i=0;i
settom: for(int i=0; i
settom: понятно, в комментах знак меньше обрывает строку
settom: < N
settom: ; i++)
settom: int i=0,d=0; вообще не нужны, поскольку в for i переопределяется как локальная переменная

Ответы

Автор ответа: settom
0

Ответ:

#include <iostream>

using namespace std;

int main()

{

int N = 0;

cin >> N;

int *a = new int[N];

for (int i = 0; i < N; i++)

{

 cin >> a[i];

}

for (int i = 0; i < N; i++)

{

 if (a[i] < 0)

 {

  a[i] = 0;

 }

}

for (int i = 0; i < N ; i++)

{

 cout << a[i] << " ";

}

return 0;

}

Но можно ещё короче, избавившись от одного цикла:

using namespace std;

int main()

{

int N = 0;

cin >> N;

int *a = new int[N];

for (int i = 0; i < N; i++)

{

 cin >> a[i];

 if (a[i] < 0) a[i] = 0;

}  

for (int i = 0; i < N ; i++)

{

 cout << a[i] << " ";

}

return 0;

}

Похожие вопросы
Предмет: Русский язык, автор: PlayGirlCZ