IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

 
 Ответить  Открыть новую тему 
> Одномерные массивы, С++
Desktop 3
сообщение 18.10.2006 13:20
Сообщение #1


Desktop
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


В одномерном массиве, состоящем из n вещественых елементов, вычислить:
- сумму положительных элементов массива, расположеных до максимального элемента.


#include <conio.h>
#include <iostream.h>
int main() {

int a[5]={1,8,-4,-3,14};

int s=0;
int max=0;
int i;

// Находим максимальный элемент
for (i=1;i<5;i++)
{
if (a[i]>a[max]) max=i;
}

// Сумма положительных чисел до макс. элемента
while (a[i]<max)
{
if (a[i]>0)
s=s+a[i];
}


cout<<"Сумма положительных элементов до максимального элемента"<<s<<endl;

getch();
return 0;
}



Нечего не выводит... Не могу понять где ошибка.

Сообщение отредактировано: volvo - 3.11.2006 14:28
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 18.10.2006 14:22
Сообщение #2


Гость






А чего ты i не увеличиваешь?


while (i<max) // <--- Здесь - ты работаешь с индексом !!!
{
if (a[i]>0)
s=s+a[i];
i++; // <-- Здесь увеличивать i
}

? У тебя "вечный" цикл...
 К началу страницы 
+ Ответить 
Desktop 3
сообщение 18.10.2006 14:29
Сообщение #3


Desktop
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


> А чего ты i не увеличиваешь?
> ? У тебя "вечный" цикл...
да вот про это забыл

Уже не циклит. Но все ровно не работает.
Выводить:
Сумма положительных элементов до максимального элемента = 0

Хотя должно выводить что сума 9.


#include <conio.h>
#include <iostream.h>
int main() {

int a[5]={1,8,-4,-3,14};

int s=0;
int max=0;
int i;

// Находим максимальный элемент
for (i=1;i<5;i++)
{
if (a[i]>a[max]) max=i;
}

// Сумма положительных чисел до макс. элемента
while (i<max) {
if (a[i]>0)
s=s+a[i];
i++;
}


cout<<"Сумма положительных элементов до максимального элемента = "<<s<<endl;

getch();
return 0;
}



Сообщение отредактировано: volvo - 3.11.2006 14:28
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 18.10.2006 14:44
Сообщение #4


Гость






i = 0 перед циклом тоже забыл? wink.gif
 К началу страницы 
+ Ответить 
Atos
сообщение 18.10.2006 14:46
Сообщение #5


Прогрессор
****

Группа: Модераторы
Сообщений: 602
Пол: Мужской
Реальное имя: Михаил

Репутация: -  9  +


чего же ты сам не посмотришь? (всего-то отладчиком по циклу пройтись)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Desktop 3
сообщение 18.10.2006 14:52
Сообщение #6


Desktop
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


Цитата(volvo @ 18.10.2006 14:44) *

i = 0 перед циклом тоже забыл? wink.gif


Да rolleyes.gif

Спасибо, теперь работает good.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 19.07.2025 1:54
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"