Форум программистов, компьютерный форум CyberForum.ru

Сгенерировать массив из 30 чисел в интервале 1 до 100. Найти ВТОРОЙ наибольший элемент массива. - C++

Восстановить пароль Регистрация
 
alex_len
1 / 1 / 0
Регистрация: 01.11.2012
Сообщений: 42
12.01.2013, 14:38     Сгенерировать массив из 30 чисел в интервале 1 до 100. Найти ВТОРОЙ наибольший элемент массива. #1
Сгенерировать массив из 30 чисел в интервале 1 до 100. Найти ВТОРОЙ наибольший элемент массива.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2013, 14:38     Сгенерировать массив из 30 чисел в интервале 1 до 100. Найти ВТОРОЙ наибольший элемент массива.
Посмотрите здесь:

C++ В массиве из 6 целых чисел найти наибольший элемент и поменять его местами с первым элементом массива
В массиве Х(100) найти наибольший элемент, удовлетворяющий условию 1<Xy<=2 C++
C++ Помогите найти ошибку в программе (Сгенерировать 10 случайных чисел в интервале 14 – 23)
C++ Сгенерировать массив из 20 чисел в интервале 0 до 100. Определить есть ли в массиве одинаковые числа.
Одномерный массив. Найти наибольший элемент массива и поменять его местами с наименьшим элементом C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Pure
 Аватар для Pure
228 / 49 / 2
Регистрация: 13.03.2012
Сообщений: 453
Записей в блоге: 7
12.01.2013, 14:58     Сгенерировать массив из 30 чисел в интервале 1 до 100. Найти ВТОРОЙ наибольший элемент массива. #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <cstdlib>
#include <iostream>
#include <algorithm>
 
 
int main()
{
   
   int mass [30] = {0};
   
   for(int i =0;i<30;++i)
   {
      mass[i] = rand()%100;     
      std::cout<<mass[i]<<" ";
   }
   
   std::sort(mass,mass+30,[](int a, int b){return a>b;});//сортировка по убыванию
 
   std::cout<<"\n"<<mass[1]; //второй элемент массива - второй наибольший
   
   
}
http://liveworkspace.org/code/1Oa2ro$7
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
12.01.2013, 15:04     Сгенерировать массив из 30 чисел в интервале 1 до 100. Найти ВТОРОЙ наибольший элемент массива. #3
alex_len, нужно небольшое уточнение. Допустим массив из трех элементов: 30 30 25
ВТОРОЙ наибольший элемент массива это 30 или 25?
alex_len
1 / 1 / 0
Регистрация: 01.11.2012
Сообщений: 42
12.01.2013, 15:06  [ТС]     Сгенерировать массив из 30 чисел в интервале 1 до 100. Найти ВТОРОЙ наибольший элемент массива. #4
C++
1
std::sort(mass,mass+30,[](int a, int b){return a>b;});//сортировка по убыванию
выдает ошибку
Pure
 Аватар для Pure
228 / 49 / 2
Регистрация: 13.03.2012
Сообщений: 453
Записей в блоге: 7
12.01.2013, 20:47     Сгенерировать массив из 30 чисел в интервале 1 до 100. Найти ВТОРОЙ наибольший элемент массива. #5
alex_len, это из за лямбда выражения [](int a, int b){return a>b;} . видимо старый компиллятор

под старый можно переделать так

C++
1
2
3
std::sort(mass,mass+30);//сортировка по возрастанию
 
   std::cout<<"\n"<<mass[28]; //предпоследний элемент массива - второй наибольший
Yandex
Объявления
12.01.2013, 20:47     Сгенерировать массив из 30 чисел в интервале 1 до 100. Найти ВТОРОЙ наибольший элемент массива.
Ответ Создать тему
Опции темы

Текущее время: 14:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru