C++, массивы, найти наибольший элемент.

lnter
Сообщения: 12
Зарегистрирован: 20 окт 2008, 16:44

04 ноя 2008, 18:45

#include <iostream>
using namespace std;
int main ()
{
int n;
cin >> n;
int a [n];
for (int i = 0; i < n; i++)
cin >> a ;
...

Помогите, пожалуйста, как найти наибольший элемент введённого массива и вывести его на экран?
Аватара пользователя
Naeel Maqsudov
Сообщения: 2551
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

04 ноя 2008, 19:08

Код: Выделить всё

max = a[0];
for (i=1; i<n; i++) {
  if (a[i]>max) {
    max=a[i];
  }
}
printf(max);
Albor
Сообщения: 482
Зарегистрирован: 06 сен 2004, 13:34
Откуда: Днепропетровск

05 ноя 2008, 08:24

lnter писал(а):#include <iostream>
using namespace std;
int main ()
{
int n;
cin >> n;
int a [n];
for (int i = 0; i < n; i++)
cin >> a ;
...

Помогите, пожалуйста, как найти наибольший элемент введённого массива и вывести его на экран?

А твой компилятор пропускает такой код? n-должна быть const. Либо нужно сделать так, если размер массива должен ввести пользователь

Код: Выделить всё

 
....
int *a=new int[n];
....
delete a;
lnter
Сообщения: 12
Зарегистрирован: 20 окт 2008, 16:44

05 ноя 2008, 12:11

А по-подробнее, как это записать? Как правильно ввести размер массива и найти наибольший элемент из того, что я ввёл?
Albor
Сообщения: 482
Зарегистрирован: 06 сен 2004, 13:34
Откуда: Днепропетровск

05 ноя 2008, 12:39

lnter писал(а):А по-подробнее, как это записать? Как правильно ввести размер массива и найти наибольший элемент из того, что я ввёл?
Примерно так

Код: Выделить всё

 
#include <iostream>
using namespace std;
int main ()
{
int n;
cin >> n;
int *a =new int[n];
for (int i = 0; i < n; i++)
cin >> a [i];
//здесь вставляешь код от Naeel Maqsudov
//только переменную max нужно предварительно объявить (int max ;)
delete a;// в самом конце программы. эта строка освободит выделенную под массив память
}
 
Gron
Сообщения: 3
Зарегистрирован: 01 ноя 2008, 13:25

05 ноя 2008, 12:52

Разработка программ!
На языках: Pascal, Delphi, C/C++ Builder/Visual Studio C++
Выполнение любых работ для студентов!

ICQ: 371670735
lnter
Сообщения: 12
Зарегистрирован: 20 окт 2008, 16:44

05 ноя 2008, 12:59

Спасибо большое!
А как сделать так, чтобы найти в этом массиве наибольшее число, которого нет в таком же введённом массиве b [m]? Т.е. сначала проверяется максимум, если совпадение есть, то проверяется следующий, и так, пока не найдётся нужное число?
Albor
Сообщения: 482
Зарегистрирован: 06 сен 2004, 13:34
Откуда: Днепропетровск

05 ноя 2008, 14:13

lnter писал(а):Спасибо большое!
А как сделать так, чтобы найти в этом массиве наибольшее число, которого нет в таком же введённом массиве b [m]? Т.е. сначала проверяется максимум, если совпадение есть, то проверяется следующий, и так, пока не найдётся нужное число?

Поищи по форуму, я приводил такой код. С использованием STL там всего несколько строк кода.
PS Ты ведь уже спрашивал такой вопрос http://forum.developing.ru/showthread.php?t=15608
nowichok1
Сообщения: 1
Зарегистрирован: 07 ноя 2008, 10:38

07 ноя 2008, 10:43

уважаемы програмисты подскажите пожалуста как можно решить эти задачи:
задача 1
Первое задание необходимо выпролнить с использованием статического массива, а второе
с использованием динамического.
В одномерном массиве, состоящем из п вещественных элементов, вычислить:
1) максимальный элемент массива;
2) сумму элементов массива, расположенных до последнего положительного элемента.
Сжать массив, удалив из него все элементы, модуль которых находится в интервале [а, b]. Освободившиеся в конце массива элементы заполнить нулями.
В одномерном массиве, состоящем из п вещественных элементов, вычислить:
1) количество элементов массива, больших С;
2) произведение элементов массива, расположенных после максимального по модулю элемента.
Преобразовать массив таким образом, чтобы сначала располагались все отрицательные элементы, а потом — все положительные (элементы, равные 0. считать положительными).
задача 2
Необходимо выполнять каждое задание в двух вариантах: используя локальные и динамические массивы. Размерности локальных массивов задавать именованными константами, значения элементов массива — в списке инициализации.
Дана целочисленная квадратная матрица. Определить:
1) сумму элементов в тех столбцах, которые не содержат отрицательных элементов;
2) минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы.

с нетерпением жду подсказки к их решению или сомое их решение
заранее спасибо!
Albor
Сообщения: 482
Зарегистрирован: 06 сен 2004, 13:34
Откуда: Днепропетровск

07 ноя 2008, 11:57

Задачи все похожи друг на друга. Для статического массива нужно объявить константный размер, например так: const int arr_size=10; int arr[arr_size]. Пример с динамическим массивом представлен выше. Осталось немного пошевелить мозгами.
Ответить