Ан
Анна

задача про массивы (C++) [1]

Найти сумму модулей элементов массива, расположенных после первого отрицательного элемента.

Вот код:
#include
#include
#pragma argsused
int main(int argc, char* argv[])
{
int a[10],n, i, ot, s;

randomize();
printf("Input N (<=10) ");
scanf("%d", &n);
puts("\n Massiv A");
for(i=0; i = random(21)-10;
printf("M", a);}
s=0;
for (i=0; i<=n; i++){
if (a<0) ot=i; break;} s=0;
for (i = ot + 1; i < n; i++) s += fabs(a[ i ]);
printf("s = %d", s);
getch();
}
и вот рузультат:


Почему не считает сумму и где ошибка?
Мне нужно найти ошибку именно в моём коде)

Zh
Zhenek

for (i=0; i<=n; i++){
if (a<0) ot=i; break;} s=0;
for (i = ot + 1; i < n; i++) s += fabs(a[ i ]);

1. Цикл выполняет лишнюю итерацию при i=n
2. В Си можно сравнивать массив (а не элемент массива) с числом, но результат вряд ли устроит.

Правильно
for (i=0; i < n; i++){
if (a[ i ]<0) ot=i; break;} s=0;
for (i = ot + 1; i < n; i++) s += fabs(a[ i ]);

Похожие вопросы
Задача c массивами на языке java
Лёгкая задача с массивом на C++
C/C++ -Помогите решить задачу или подтолкните в нужную сторону (МАССИВЫ)
Символьные массивы на C.
1. Задача: Определить количество «особых» элементов k массива C
C++ Двумерные массивы
Где можно посмотреть задачи на циклы и массивы (C++)
Borland C++, не могу понять суть задачи по массивам.
C# помощь по массиву.
Помогите решить задачу по информатике. Массивы на языке C!