Страница 1 из 1

помогите исправить недочёт

Добавлено: 20 ноя 2008, 21:24
Freeman12
Составить структурированную программу,которая при наличии у вещественного вектора х1,...,х10 хотя бы одной компоненты<-2 ,все отрицательные компоненты заменяет на их квадрат,оставляя все остальные без изменения,в противном случае вектор домножается на 0.1
(вектор это 10 чисел вводимых с клавиатуры)

Код: Выделить всё

#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{float x[10];
int i;
for (i=0;i<10;i++)
	cin>>x[i];
if (x[i]<-2)
    for (i=0;i<10;i++)
    {if(x[i]<0)
       x[i]=x[i]*x[i];
     else
     x[i]=x[i];}
else
for (i=0;i<10;i++)
{x[i]=x[i]*0.1;
cout<<"x["<<
i<<"]:"<<x[i]<<'\n';}
getch();
};
Прога почему-то всё время идёт по ветке else,и умножает всё на 0.1(((помогите пожалуйста!!!
язык С++

Re: помогите исправить недочёт

Добавлено: 21 ноя 2008, 10:09
airyashov
неправильно расставлены блоки, проверяется только один элемент, причем хз какой, чему равно i после цикла, на верное x[10], ошибку ищите в блоках

Re: помогите исправить недочёт

Добавлено: 22 ноя 2008, 20:10
xsix
Разберись с расстановкой круглых скобок, неправильно выделено тело цикла!!!

Re: помогите исправить недочёт

Добавлено: 22 ноя 2008, 21:37
Freeman12
Всем спасибо,задание сделал!!!Кому понадобится пишите-дам правильный вариант)
ТЕМУ МОЖНО ЗАКРЫТЬ