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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2011, 18:13   #1
NeRRouZ
 
Регистрация: 12.11.2011
Сообщений: 3
Печаль Является ли последовательность арифметической, заключенной между минимальным и максимальным элементами

Является ли последовательность арифметической прогрессией, заключенной между минимальным и максимальным элементами
Подскажите что не так в моем коде?

Код:
#include <iostream>
using namespace std;
 
const int n = 10;
int main()
{
        int a[n];
        
        int i, imax=0, imin=0;
        int k = 0;
        int d = 0;
        bool f = true;
        
        
        for (i=0; i<n; i++)
                cin>>a[i];
//------------------------------------------------------------------------------
        for (i=0; i<n; i++)
                if (a[i] > a[imax])
                {
                        a[imax] = a[i];
                        imax = i;
                }
                
                
        for (i=0; i<n; i++)
                if (a[i] < a[imin])
                        {
                                a[imin] = a[i];
                                imin = i;
                        }
//------------------------------------------------------------------------------
                        
        for (i=imin+1; i<imax; i++)
                k++;
                                
                                
        if (k == 0 || k == 1)
                cout<<"Arifmeticheskoi progressii net"<<endl;
 
        else
        {
                
        int     q1 = a[imin+1]; //1-й член арифм. прогрессии
        int     q2 = a[imin+2]; // 2-й член арифм. прогрессии
 
        d = q2 - q1; 
        
        
                
        for (i=imin+1; i<imax; i++)
                if ((a[i+1]-a[i]) != d)
                {
                        f = false;
                        break;
                }
                
                
                                
                if (f == true)
                        cout<<"YES"<<endl;
                else
                        cout<<"NO"<<endl;
        
 
/*      for (i=imin+1; i<imax; i++)
                cout<<a[i]<<" ";
                cout<<endl;
                
                cout<<q1<<endl; 
                cout<<q2<<endl; 
                cout<<d<<endl;*/
        }
                
        
return 0;
}
NeRRouZ вне форума Ответить с цитированием
Старый 12.11.2011, 18:35   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

зачем вы сам массив то меняете?
а если максимум раньше минимума стоит?
p51x вне форума Ответить с цитированием
Старый 12.11.2011, 18:38   #3
NeRRouZ
 
Регистрация: 12.11.2011
Сообщений: 3
По умолчанию

Мой конфуз,
забыл указать в условии, что минимум всегда раньше максимума
NeRRouZ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массив целых чисел делится на три части двумя элементами: максимальным и минимальным (Delphi) eva-2030 Помощь студентам 6 15.05.2011 22:16
Дан массив [3*4]. Определить разницу между максимальным и минимальным значениями. vbchristy46 Помощь студентам 7 15.06.2010 23:29
Поменять местами строку с минимальным и максимальным элементами deathz0r Помощь студентам 0 05.06.2010 17:33
Разность между максимальным и минимальным значениями StudeHt Помощь студентам 7 23.04.2009 22:26
в двухмерном массиве поменять местами столбцы с максимальным и минимальным элементами Лёха Помощь студентам 5 18.12.2007 18:12