Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.11.2009, 19:05   #1
Отчаявшаяся
Новичок
Джуниор
 
Регистрация: 16.11.2009
Сообщений: 4
По умолчанию Сумма до мax положительного элемента массива

Ещё раз, добрый вечер! У меня снова небольшая проблема с массивами. Нужно найти сумму положительных элементов массива, расположенных до максимального элемента. Прога опять работает, компилируется, но выводит только первый положительный элемент. Например, я ввожу числа: -1 3 4 6 -9 -5. Результат выводит=3, а нужно 7. Заранее СПАСИБО!!!

#include <iostream>
using namespace std;
#include <conio.h>
int main()
{
int signed a[20];
int n, i, max, sm = 0, imax;
cout << "\t Input N (<=20) ";
cin >> n;
cout <<"\n\t Massiv A" << endl;
for(i = 0; i < n; i++) {
cout << "\t a[ " << i+1 << " ] = ";
cin >> a[i];
}


max=a[1];
imax=1;
for(i =1; i < n; i++) {
if (a[i]>max && a[i]>0) {
max=a[i];
imax=i;

cout << "\n Maximum = " << max << "\n Ego index = " << imax<< endl;
}
}
sm=0;

for (i=1; imax+1; i++) {

sm=sm+a[i];

cout << "\n Summa do max elementa= " << sm << endl;
getch();
return 0;
}
}
Отчаявшаяся вне форума Ответить с цитированием
Старый 16.11.2009, 19:30   #2
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

посмотрите правильность расстановки скобок

Код:
max=a[0];  
imax=0;
for(i =1; i < n; i++) 
{
   if (a[i]>max) 
   {
       max=a[i];
       imax=i;
   }
}
cout << "\n Maximum = " << max << "\n Ego index = " << imax<< endl;
сумму ищем так

Код:
sm=0;
for (i=0; i<imax; i++) 
{
   if(a[i]>0)
     sm=sm+a[i];
}
cout << "\n Summa do max elementa= " << sm << endl;

Цитата:
Например, я ввожу числа: -1 3 4 6 -9 -5. Результат выводит=3, а нужно 7.
женская логика...

Последний раз редактировалось counter; 16.11.2009 в 19:33.
counter вне форума Ответить с цитированием
Старый 16.11.2009, 19:42   #3
Отчаявшаяся
Новичок
Джуниор
 
Регистрация: 16.11.2009
Сообщений: 4
По умолчанию

Возможно, что ВЫ правы. Женская логика-это отсутствие всякой логики. Уважаемый counter, ещё раз хочу Вас поблагодарить от всей души за помощь. Я задачи проверила и все работает тип-топ. Надеюсь, что хоть одну из работ не отправят на пересдачу. СПАСИБО!!!!
Отчаявшаяся вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
замена элемента массива shelest Помощь студентам 3 02.11.2009 00:14
PHP: использование элемента массива как массива Sudia Помощь студентам 1 20.02.2009 20:48
Удаление элемента из массива Ozerich PHP 10 14.02.2009 02:21
Удаление элемента массива chiffa Общие вопросы Delphi 1 03.01.2008 19:24