Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Maksim_2011
0 / 0 / 0
Регистрация: 24.05.2011
Сообщений: 28
#1

Поиск максимального значения массива

03.01.2012, 07:48. Просмотров 870. Ответов 11
Метки нет (Все метки)

Люди помогите с двумя задачками:
1. В матрице размером 4 на 5 найти сумму наибольших элементов столбцов.
2. Вычислить значение max (x(0)+x(n-1),x(1)+x(n-2),x(2)+x(n-3),....,x((n-1)/2)+x(n/2), где x(i) - элементы вещественного массива x из n элементов. Массив содержит 18 элементов. Поиск максимального значения оформить в виде функции.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.01.2012, 07:48
Ответы с готовыми решениями:

Поиск максимального значения в списке.
HELP! Нужна функция поиска максимального числа в линейном односвязном списке.

Вывести числа, имеющие значения меньше максимального и больше среднего значения всех элементов массива
Задан массив целых чисел. Вывести на экран числа, имеющие значения меньше...

Поиск максимального и минимального значения в матрице
Подскажите как найти минимальное и максимальное значение в матрице 20 на 20 (я...

Поиск максимального значения матрицы,замена элементов
Необходимо найти максимальный элемент матрицы и поменять его с последним. Вот...

Поиск максимального значения функции на заданном промежутке
Дана функция y=2x3+1. Написать программу для поиска максимального значения у в...

11
valeriikozlov
Эксперт С++
4683 / 2509 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
03.01.2012, 08:04 #2
Цитата Сообщение от Maksim_2011 Посмотреть сообщение
1. В матрице размером 4 на 5 найти сумму наибольших элементов столбцов.
Если уже есть матрица a[4][5], то можно так:
C++
1
2
3
4
5
6
7
8
9
10
int n=4, m=5, s=0, max, i, j;
for(j=0; j<m; j++)
{
    max=0;
    for(i=1; i<n; i++)
        if(a[i][j]>a[max][j])
            max=i;
    s+=a[max][j];
}
// вот здесь в переменной s нужный ответ
1
Maksim_2011
0 / 0 / 0
Регистрация: 24.05.2011
Сообщений: 28
03.01.2012, 13:27  [ТС] #3
А с другой задачкой поможешь?
0
valeriikozlov
Эксперт С++
4683 / 2509 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
03.01.2012, 13:59 #4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от Maksim_2011 Посмотреть сообщение
2. Вычислить значение max (x(0)+x(n-1),x(1)+x(n-2),x(2)+x(n-3),....,x((n-1)/2)+x(n/2), где x(i) - элементы вещественного массива x из n элементов. Массив содержит 18 элементов. Поиск максимального значения оформить в виде функции.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
double f(double x[], int n)
{
    double max=x[0]+x[17];
    int i;
    for(i=1; i<n/2; i++)
        if(max<x[i]+x[n-1-i])
            max=x[i]+x[n-1-i];
    return max;
}
int main()
{
    double x[18]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,25,16,17,18};
    cout<<f(x, 18)<<endl;
 
    return 0;
}
1
Dekio
Фрилансер
Эксперт С++
5838 / 1219 / 499
Регистрация: 23.11.2010
Сообщений: 3,377
Записей в блоге: 1
03.01.2012, 16:59 #5
Цитата Сообщение от valeriikozlov Посмотреть сообщение
double x[18]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,25,16,17,18};
Не позорьтесь
C++
1
for(int i = 0; i < 18; arr[i] = ++i);
0
valeriikozlov
Эксперт С++
4683 / 2509 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
03.01.2012, 18:38 #6
Цитата Сообщение от Dekio Посмотреть сообщение
Не позорьтесь
Dekio, нужно быть внимательнее - числа идут не попорядку как Вам кажется с первого раза. Сделано специально для наглядности - иначе все суммы пар были бы одинаковы.
0
Dekio
Фрилансер
Эксперт С++
5838 / 1219 / 499
Регистрация: 23.11.2010
Сообщений: 3,377
Записей в блоге: 1
03.01.2012, 19:05 #7
Цитата Сообщение от valeriikozlov Посмотреть сообщение
числа идут не попорядку
Таки да, вместо 15 стоит 25.
Но тем не менее, если нужно было бы 1 число другое вставить, можно переделать немного цикл
C++
1
for(int i = 0; i < 18; arr[i] = ++i == 15 ? 25 : i);
Для 1 числа все же проще, чем все записывать
0
valeriikozlov
Эксперт С++
4683 / 2509 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
03.01.2012, 19:41 #8
Dekio, вот в таком виде:
C++
1
double x[18]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,25,16,17,18};
удобнее проверить программу: изменил одну пару, изменил другую, изменил третью - видишь результат, видишь и сам массив, все видно, все наглядно.
Цель преследовалась именно эта. Дальнейший спор (если он будет) не поддержу.
А как вводить данные будет автор темы: то ли как Вы, то ли как я, то ли с клавиатуры, то ли из файла, то ли заполнять случайными числами, то ли еще каким-нибудь вариантом, решать только ему.
1
go
03.01.2012, 21:02
  #9

Не по теме:

Цитата Сообщение от Dekio Посмотреть сообщение
Не позорьтесь
По-моему это все придирке, вы бы еще std::generate предложили

0
Maksim_2011
0 / 0 / 0
Регистрация: 24.05.2011
Сообщений: 28
04.01.2012, 19:57  [ТС] #10
Ещё такой вопросик, цель программы поиск максимального элемента же? А при запуске программы он выводит, число, в данном случаи, 29, т.е. к максимальному прибавляет 3. А почему?
0
go
Эксперт С++
3636 / 1368 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
04.01.2012, 20:02 #11
Maksim_2011, нет. У программы цель такая, какую Вы написали формулу.
1
valeriikozlov
Эксперт С++
4683 / 2509 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
04.01.2012, 21:02 #12
Цитата Сообщение от Maksim_2011 Посмотреть сообщение
Ещё такой вопросик, цель программы поиск максимального элемента же? А при запуске программы он выводит, число, в данном случаи, 29, т.е. к максимальному прибавляет 3. А почему?
только не 3 прибавляет, а 4.
У Вас задание:

Цитата Сообщение от Maksim_2011 Посмотреть сообщение
Вычислить значение max (x(0)+x(n-1),x(1)+x(n-2),x(2)+x(n-3),....,x((n-1)/2)+x(n/2), где x(i) - элементы вещественного массива x из n элементов.
Т.е. нужно найти не максимальный элемент этого массива:
C++
1
double x[18]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,25,16,17,18};
а максимальное среди:
1+18
2+17
3+16
4+25
5+14
и т.д.
1
04.01.2012, 21:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.01.2012, 21:02

Массивы, вложенные циклы и поиск максимального и минимального значения
Товарищи. Нужна помощь. Срочно. Есть 2 задачи и их надо срочно сделать..Не могу...

Поиск максимального значения элемента в массиве массивов целых
Здравствуйте, требуется найти максимальное значение элемента в массиве массивов...

Поиск индекса и значения максимального элемента в массиве через ссылку
Здравствуйте, помогите, пожалуйста: Программа запрашивает у пользователя...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru