одномерный массив

Тема в разделе "MS Visual C++", создана пользователем Olchik, 20 мар 2010.

  1. Olchik

    Olchik Гость

    помогите,я не знаю в чём ошибка,программа не работает,выдаёт комп.мусор
    нужно найти среднее арифметическое двух наименьших элементов массива

    Код (Text):
    #include<iostream>
    #include<math.h>
    #include<conio.h>
    using namespace std;
    int main()
    {
    int a[5]={5,13,9,7,11},i,min_1,min_2,sr_ar,i_min_1,i_min_2;
    int min=a[0];
    for(i=0;i<5;i++)
    if(a[i]<min)
    {
    min_1=a[i];
    i_min_1=i;
    }
    cout<<"min_1="<<min_1<<endl;
    cout<<"i_min_1="<<i_min_1<<endl;
    min=a[0];
    for(i=0;i<5;i++)
    if(a[i]<min && i!=i_min_1)
    {
    min_2=a[i];
    i_min_2=i;
    }
    cout<<"min_2="<<min_2<<endl;
    cout<<"i_min_2="<<i_min_2<<endl;
    sr_ar=(min_1+min_2)/2;
    cout<<"sr_ar="<<sr_ar<<endl;
    getch ();
    return 0;
    }
     
  2. Odin_KG

    Odin_KG Гость

    По-моему, у вас второй цикл работает впустую:

    Код (Text):
    min=a[0];
    for(i=0;i<5;i++)
    if(a[i]<min && i!=i_min_1)
    {
    min_2=a[i];
    i_min_2=i;
    }
    У вас при в начале min=5, а значит условие if(a<min && i!=i_min_1) никогда не выполнится, потому что a не может быть меньше, чем 5.
     
  3. Olchik

    Olchik Гость

    ага..увидела..а как это исправить,чёт я не пойму7
     
  4. Odin_KG

    Odin_KG Гость

    Легче всего вместо:
    min=a[0];
    написать:
    min=100000000;

    если 100000000 будет самое большое число в массиве , то цикл будет работать верно.
     
  5. Olchik

    Olchik Гость

    но всё-равно,если исправить на min=100000000, то мин_1=11,а мин_2=7,
    а должно быть 5 и 7
     
  6. Odin_KG

    Odin_KG Гость

    ну,у вас и в первом цикле та же самая байда:
    int min=a[0];
    поставьте:
    int min=100000000;

    рекомендую научиться пользоваться отладчиком - мне с экрана глазами искать труднее.
     
Загрузка...
Похожие Темы - одномерный массив
  1. vbnoob
    Ответов:
    1
    Просмотров:
    951
  2. LifeT
    Ответов:
    1
    Просмотров:
    1.208
  3. Crock95
    Ответов:
    0
    Просмотров:
    1.277
  4. Dexet
    Ответов:
    1
    Просмотров:
    1.392
  5. dambaldor30
    Ответов:
    1
    Просмотров:
    1.144

Поделиться этой страницей