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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2010, 20:01   #1
mr_fomin
Пользователь
 
Регистрация: 12.12.2010
Сообщений: 10
По умолчанию найти третий елемент по величине в масиве С++

Найти третий по величине елемент в масиве.
Вот написал прогу... Но походу что-то нето.. Не могу сообразить что написал не правильно.
int main()
{int a[200],i=0,k,q,m,n,pp,w,e,r;
for(i=0;i<200;i++)
{a[i]=random(100);
cout<<a[i]<<" ";}
for(q=0;q<199;q++)
for(i=0;i<199;i++)
if(a[i]>a[i+1])
{pp=a[i];
a[i]=a[i+1];
a[i+1]=pp;
}
else continue;
cout<<"vporiadkovanyi:"<<"\n";
for(i=1;i<200;i++)
cout<<a[i]<<" ";
//3й елемент
for(i=0;i>199;i++)
if (a[i]<=a[i+1])
i=m;
else continue;
for(i=m;i>199;i++)
if (a[i]<a[i+1])
i=n;
else continue;
for(i=n;i>199;i++)
if (a[i]<a[i+1]) a[i]=r;
else continue;
cout<<"3j element - "<<r;
getch();
return 0;
}
mr_fomin вне форума Ответить с цитированием
Старый 13.12.2010, 20:42   #2
mr_fomin
Пользователь
 
Регистрация: 12.12.2010
Сообщений: 10
По умолчанию

немного отредактировал но почему-то все равно нето значение(((((((((

int main()
{int a[200],i=0,q,m,n,pp,r;
for(i=0;i<200;i++)
{a[i]=random(100);
cout<<a[i]<<" ";}
for(q=0;q<199;q++)
for(i=0;i<199;i++)
if(a[i]>a[i+1])
{pp=a[i];
a[i]=a[i+1];
a[i+1]=pp;
}
else continue;
cout<<"vporiadkovanyi:"<<"\n";
for(i=0;i<200;i++)
cout<<a[i]<<" ";

//3j element
cout<<"\n";
for(i=1;i<199;i++)
if (a[i]<a[i+1])
{i==n;
break;}
else continue;
for(n=i;i>199;i++)
if (a[i]<a[i+1])
{a[i]=r;
break;}
else continue;
cout<<"3j element - "<<r;
getch();
return 0;
}
mr_fomin вне форума Ответить с цитированием
Старый 13.12.2010, 22:41   #3
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Прогони вот этот код , у меня просто нет С++ , не мог прогнать , но этот код должен делать все , что тебе надо

Код:

int main()
{
   int a[200],i,q,pp;
   
   for(i=0;i<200;i++)
  {
     a[i]=random(100);
     cout<<a[i]<<" ";
  }
   
  for(q=0;q<199;q++)
    for(i=q+1;i<200;i++)
       if(a[q]<a[i])
       {
          pp=a[i];
          a[i]=a[q];
          a[q]=pp;
       }
     
  cout<<"vporiadkovanyi:"<<"\n";
    for(i=0;i<200;i++)
       cout<<a[i]<<" ";

//3j element
cout<<"\n3j element - "<<a[2];
getch();
return 0;
}
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 13.12.2010, 23:02   #4
mr_fomin
Пользователь
 
Регистрация: 12.12.2010
Сообщений: 10
По умолчанию

andrewpalkin, нет это не совсем правильно... Нужен не просто третий елемент... анужен третий по возрастанию...
Цитата:
//3j element
cout<<"\n3j element - "<<a[2];
mr_fomin вне форума Ответить с цитированием
Старый 13.12.2010, 23:14   #5
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Я понимаю , но ты ведь можешь поменять , вот в этой строке :

Код:
 if(a[q]<a[i])
вот на это :

Код:
 if(a[q]>a[i])
И он упорядочит массив по возрастанию . Это ведь был твой код . Я просто его немного изменил . Не забудь про плюсик , если будет работать
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 13.12.2010, 23:48   #6
mr_fomin
Пользователь
 
Регистрация: 12.12.2010
Сообщений: 10
По умолчанию

andrewpalkin, ты меня не так понял
тоесть если например массив упорядоченый
1 1 1 3 3 3 4 7 8
ответ будет 7й елемент масива который равен 4.
mr_fomin вне форума Ответить с цитированием
Старый 14.12.2010, 00:03   #7
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Цитата:
Сообщение от mr_fomin Посмотреть сообщение
andrewpalkin, ты меня не так понял
тоесть если например массив упорядоченый
1 1 1 3 3 3 4 7 8
ответ будет 7й елемент масива который равен 4.
Теперь понял , сейчас посмотрю , что можно сделать
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 14.12.2010, 00:14   #8
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Попробуй этот код :

Код:

int main()
{
   int a[200],i,q,pp,num;
   
   for(i=0;i<200;i++)
  {
     a[i]=random(100);
     cout<<a[i]<<" ";
  }
   
  for(q=0;q<199;q++)
    for(i=q+1;i<200;i++)
       if(a[q]<a[i])
       {
          pp=a[i];
          a[i]=a[q];
          a[q]=pp;
       }
     
  cout<<"vporiadkovanyi:"<<"\n";
    for(i=0;i<200;i++)
       cout<<a[i]<<" ";

num=1;
//3j element
for (i=1; i<200; i++)
{
   if(a[i]>a[i-1])
      ++num;  
   if(num == 3)
      cout<<"\nnumber of element = "<<i+1 <<"; element = "a[i] ;
}

getch();
return 0;
}
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 14.12.2010, 00:47   #9
mr_fomin
Пользователь
 
Регистрация: 12.12.2010
Сообщений: 10
По умолчанию

Спасибо большое теперь правильно +!!!
mr_fomin вне форума Ответить с цитированием
Старый 14.12.2010, 00:52   #10
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Цитата:
Сообщение от mr_fomin Посмотреть сообщение
Спасибо большое теперь правильно +!!!
Не откажусь от плюсика в репутацию
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти минимальний елемент матрици A(m x n). SashOK1991 Помощь студентам 0 30.05.2010 20:06
Найти второй по величине элемент (assembler) Rom@shka Помощь студентам 3 22.06.2009 20:07
Найти 3-ий по величине элемент массива.. PavelZet Помощь студентам 10 07.05.2009 21:06
найти минимальный елемент bbk_serg Помощь студентам 1 10.01.2009 17:35