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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2011, 17:07   #1
Agat538
 
Регистрация: 21.12.2011
Сообщений: 5
По умолчанию 2-ой максимум массива!

Прошу помощи специалистов или тех кто в этом разбирается.
По причине серьёзной болезни я пропустил больше половины семестра.
Теперь надо нагонять материал. Задача такая: Найти второй максимум массива, массив вводиться с клавиатуры. Второй максимум я найти смог, а ввод с клавиатуры не получается. Помогите кто знает. Изменить именно эту программу:


#include<iostream>
#define MIN -1
using namespace std;
int main()
{
int max=MIN,second_max=MIN;
int arr[6]={0,1,2,3,4,5};
for(int i=0;i<5;i++){
cout<<"::"<<arr[i];
}
for(int i=0;i<5;i++){
if(arr[i]>max){
second_max=max;
max=arr[i];
}
}
cout<<endl<<"Second Max:"<<second_max;
int i;
cin>>i;
return 0;
}
Agat538 вне форума Ответить с цитированием
Старый 21.12.2011, 17:15   #2
JuniorProger
Форумчанин
 
Регистрация: 16.09.2011
Сообщений: 114
По умолчанию

Второй максимум - это наибольший элемент из тех, что меньше максимального? Ну типа у массива 1 5 3 8 первый максимум 8, а второй 5 ? Так что ли?
JuniorProger вне форума Ответить с цитированием
Старый 21.12.2011, 17:17   #3
Agat538
 
Регистрация: 21.12.2011
Сообщений: 5
По умолчанию

Цитата:
Сообщение от JuniorProger Посмотреть сообщение
Второй максимум - это наибольший элемент из тех, что меньше максимального? Ну типа у массива 1 5 3 8 первый максимум 8, а второй 5 ? Так что ли?
именно так
Agat538 вне форума Ответить с цитированием
Старый 21.12.2011, 17:19   #4
JuniorProger
Форумчанин
 
Регистрация: 16.09.2011
Сообщений: 114
По умолчанию

Ну тогда держи
Код:
#include<iostream>
#define MIN -1
using namespace std;
int main(){
	int max=MIN,second_max=MIN;
	int arr[6]; //={0,1,2,3,4,5};
	
	for(int i=0;i<6;i++){
		cin>>arr[i];
	};

	for(int i=0;i<6;i++){
		cout<<"::"<<arr[i];
	};

	for(int i=0;i<6;i++){
		if(arr[i]>max){
			second_max=max;
			max=arr[i];
		}
	}
	cout<<endl<<"Second Max:"<<second_max;
	int i;
	cin>>i;
	return 0;
}
А в чем проблема то была? Ты же в конце i считываешь с клавиатуры. Кстати в циклах i<6, а не i<5

Последний раз редактировалось JuniorProger; 21.12.2011 в 17:21.
JuniorProger вне форума Ответить с цитированием
Старый 21.12.2011, 17:28   #5
Agat538
 
Регистрация: 21.12.2011
Сообщений: 5
По умолчанию

Премного благодарен, всеуважаемый JuniorProger. Побольше бы таких людей как ты.
Agat538 вне форума Ответить с цитированием
Старый 21.12.2011, 17:35   #6
JuniorProger
Форумчанин
 
Регистрация: 16.09.2011
Сообщений: 114
По умолчанию

А вообще всякие задачки с массивами и примеры их решения с объяснениями есть почти в каждом учебнике по С++. Наверняка в том, по которому вас учат (или в лекциях), что-то подобное есть. Хотя, иногда теоретический материал не сразу понятен и на примерах быстрее понимаешь. Спрашивай, если что, но и сам думай, читай и пытайся понять.
JuniorProger вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
к элементам первой половины массива добавить минимум, а к элементам второй - добавить максимум specialist Паскаль, Turbo Pascal, PascalABC.NET 3 08.05.2011 01:46
Максимум Массива SKyzZz Общие вопросы C/C++ 3 15.02.2011 22:08
с++ первый максимум kate311893 Помощь студентам 0 26.05.2010 14:11
максимум meteor Microsoft Office Excel 2 06.12.2008 13:08