Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: megaboard   (14.11.2009 в 22:18)
Здравствуйте!
Я новичок в С++ и хотел бы разобраться.
Привожу код программы которая подсчитывает сумму отрицательных элементов массива.
В программе есть ошибка не могу найти.
В общем если ввели количество элементов массива предположим 4, то 3 элемента он суммирует, а 4й не учитывает.
И еще если массив состоящий, например, из четырех элементов содержит хотя один положительный элемент, то программа его тоже суммирует.
Помогите исправить ошибку!


#include <stdio.h>
#pragma hdrstop
#include<iostream.h>
#include "windows.h"
//---------------------------------------------------------------------------
#pragma argsused
int rustext(char str[])
{
CharToOem(str,str);
cout << str;
}
int main(int argc, char* argv[])
{
 int n;
rustext ("Введите количество элементов "); cin >> n;
int i, ineg;
float sum, *a = new float [n];
rustext ("Введите элементы массива ");
for (i = 0; i < n-1; i++) cin >> a[i];
for(i = 0; i < n-1; i++) cout << a[i] << ' ';
for(i = 0; i < n-1; i++)  if (a[i] < 0) ineg = i;
for (sum = 0, i = ineg - i; i < n-1; i++) sum += a[i];
rustext ("Сумма ");
cout << sum;
system("pause");
return 0;
}


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: