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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2015, 22:32   #1
Wolf137
Новичок
Джуниор
 
Регистрация: 03.03.2015
Сообщений: 2
По умолчанию C++ Builder - Не могу сложить элементы массива

Добрый вечер! Потихоньку изучаю С++ Builder. Задача звучит так "Найти сумму чисел последовательности, расположенных между максимальным и минимальным числами (в сумму включить и оба эти числа)." Все сделал. Но вот почему-то сумма не работает(выводит ноль)! Помогите пожалуйста!
Код:
int i,min,max,sum=0,imax=0,imin=0;
int n[5];
        for(i=0; i<=4; i++)
        {n[i]=StrToInt(StringGrid1->Cells[i][0]);}
                 min=n[0];
                 max=n[0];
        for(i=0; i<4; i++)
                {
                if(min>n[i])
                       { min=n[i];
                         imin=i;
                       }
                }
        for(i=0; i<=4; i++)
                {
                if(max<n[i])
                      {  max=n[i];
                         imax=i;
                      }
                }
           if (imax<imin)
                 for(i=imax+1; i<imin-1; i++)
                         sum+=n[i];
                         else if (imax>imin)
                                    for(i=imin+1; i<imax-1; i++)
                         sum+=n[i];
 
        Label1->Caption=min;
        Label2->Caption=max;
        Label3->Caption=imin;
        Label4->Caption=imax;
        Label5->Caption=sum;

Последний раз редактировалось Wolf137; 03.03.2015 в 22:35.
Wolf137 вне форума Ответить с цитированием
Старый 03.03.2015, 23:02   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Код:
for(i=0; i<4; i++)
почему последний элемент не проверяете?

Код:
for(i=imax+1; i<imin-1; i++)
у вас же в условии надо включить макс и мин
p51x вне форума Ответить с цитированием
Старый 03.03.2015, 23:12   #3
Wolf137
Новичок
Джуниор
 
Регистрация: 03.03.2015
Сообщений: 2
По умолчанию

Так в Си отсчет идет с 0,1,2,3,4. 4-это последний элемент.
Wolf137 вне форума Ответить с цитированием
Старый 03.03.2015, 23:59   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

и? повторю еще раз: почему вы не проверяете элемент n[4]?
p51x вне форума Ответить с цитированием
Старый 04.03.2015, 00:57   #5
Aleksander550
Форумчанин
 
Регистрация: 07.01.2014
Сообщений: 124
По умолчанию

как-то так:
Код:
#include <iostream>

using namespace std;

int main(){
int i,min,max,sum=0,imax=0,imin=0;
int n[5];
cout << "\n\n";
        for(i=0; i<=4; i++)
        	cin >> n[i];
        min=n[0];
        max=n[0];
	imin = imax = 0;
        for(i=0; i<=4; i++)
                {
                if(min>n[i])
                       { min=n[i];
                         imin=i;
                       }
                }
        for(i=0; i<=4; i++)
                {
                if(max<n[i])
                      {  max=n[i];
                         imax=i;
                      }
                }
        if (imax<imin)
        	for(i=imax; i <= imin; i++)
                	sum+=n[i];
        else if (imax>imin)
        	for(i=imin; i <= imax; i++)
                        sum+=n[i];

cout << "\n\nmin = " << min 
	<< "\nmax = " << max
	<< "\nimin = " << imin
	<< "\nimax = " << imax
	<< "\nsum = " << sum << endl;
return 0;
}
#define TRUE FALSE //счастливой отладки
Aleksander550 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти минимальный и максимальный элементы массива Х и поменять их в массиве местами. Элементы массива вычисляются по формуле Xi=(( Милашечка Помощь студентам 0 26.05.2013 13:01
Не могу вывести элементы массива на экран Shadol Общие вопросы C/C++ 7 05.03.2013 15:58
Элементы матрицы. Все ненулевые элементы массива D(k) расположить в начале массива E(k) и подсчитать их к Вася Маклауд Помощь студентам 0 03.04.2011 17:21
Не могу получить элементы массива. Help!!! C++/CLR i-cpp Общие вопросы .NET 1 06.12.2009 23:58