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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.06.2009, 01:55   #1
Arcueid1691
Пользователь
 
Аватар для Arcueid1691
 
Регистрация: 31.05.2009
Сообщений: 97
По умолчанию 2 максимума в массиве

задание: найти 2 максимума в заданном массиве.
первый максимум ищет нормально, если закоментировать поиск второго.
Однако 2 максимума не ищет. Не могу понять в чем собственно причина.
Код:
#include<stdio.h>
#include<conio.h>
void main(){
clrscr();

char A[10], i, m1, m2;

printf("vvedite massiv: \n");

for(i=0; i<10; i++)
scanf("%c", &A[i]);

for(i=0; i<10; i++)
if(m1 < A[i])    m1=A[i];
printf("max1= %d", m1);
  for(i=0; i<10; i++)

  if(m2 < A[i] && m2 < m1)  m2=A[i];

printf("max2= %d  \n  ", m2);
getch();
}
спят подружки вредные безмятежным сном,
Снятся мышкам хлебные крошки под столом, Буратинам - досточки, кошкам - караси,
Всем собакам - косточки, программистам - Си (с)
Arcueid1691 вне форума Ответить с цитированием
Старый 01.06.2009, 02:01   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Ошибки:
m1 и m2 не проинициализированы.
Начальные значения для максимумов не заданы (с чем сравниваете-то на первой итерации?)
Да и поиск второго максимума неверен.

Вот:
Код:
#include<stdio.h>
#include<conio.h>

int main()
{
char A[10], i, m1=-1, m2=-1;  // m1,m2 - индексы максимумов
printf("vvedite massiv: \n");

for(i=0; i<10; i++)
 scanf("%d", &A[i]);

for(i=0; i<10; i++)
 if(m1==-1||A[m1]<A[i]) m1=i;  
  printf("max1= %d\n", A[m1]);

for(i=0; i<10; i++)
 if(i!=m1&&(m2==-1||A[m2]<A[i]))  m2=i;

printf("max2= %d  \n  ", A[m2]);
getch();
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 01.06.2009, 02:08   #3
Arcueid1691
Пользователь
 
Аватар для Arcueid1691
 
Регистрация: 31.05.2009
Сообщений: 97
По умолчанию

большое спасибо, теперь понятно ^_^
спят подружки вредные безмятежным сном,
Снятся мышкам хлебные крошки под столом, Буратинам - досточки, кошкам - караси,
Всем собакам - косточки, программистам - Си (с)

Последний раз редактировалось Arcueid1691; 01.06.2009 в 02:17.
Arcueid1691 вне форума Ответить с цитированием
Старый 01.06.2009, 02:18   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от Arcueid1691
почему m1 присваиваем i , а не A[i] ?
Ну я же там коммент оставил. Именно потому, что удобно хранить индекс максимума, а не само значение.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 01.06.2009, 02:30   #5
Arcueid1691
Пользователь
 
Аватар для Arcueid1691
 
Регистрация: 31.05.2009
Сообщений: 97
По умолчанию

Извините, сразу не увидела.
спят подружки вредные безмятежным сном,
Снятся мышкам хлебные крошки под столом, Буратинам - досточки, кошкам - караси,
Всем собакам - косточки, программистам - Си (с)
Arcueid1691 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
три первых максимума Exo Microsoft Office Excel 2 27.05.2009 15:08
КАК мне поменять 2 минимума и 2 максимума Wi1D Помощь студентам 1 09.12.2008 23:58
Ошибка в нахождении максимума yulia SQL, базы данных 7 26.07.2008 23:54
Нахождение минимума и максимума в трехмерном массиве 1234 Помощь студентам 11 26.05.2008 16:23
3 максимума из N чисел Artem1987 Помощь студентам 2 23.12.2007 09:08