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

Победителем соревнований объявляется тот спортсмен, у которого максимален наилучший результат по всем броскам - C++

Восстановить пароль Регистрация
 
Sm4k1
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 42
09.06.2014, 17:00     Победителем соревнований объявляется тот спортсмен, у которого максимален наилучший результат по всем броскам #1
Здравствуйте, помогите доделать следующую задачу. Победителем соревнований объявляется тот спортсмен, у которого максимален наилучший результат по всем броскам. Таким образом , программа должна найти значение максимального элемента в данном массиве , а так же его индексы ( то есть номер спортсмена и номер попытки ). Программа выводит значение максимального элемента , затем номер строки и номер столбца , в котором он встречается.

П.с Это условие я выполнил

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream.h>
void main () {
int a[30][30], max, n,m,i,j,i1,j1;
cin>>n>>m;
for(i=0; i<n-1;i++)
for(j=0; j<m-1;j++)
cin>>a[i][j];
max=0; i1=0; j1=0;
for(i=0; i<n-1;i++)
for(j=0; j<m-1;j++)
if (a[i][j]>max) {
max=a[i][j]; i1=i; j1=j;}
cout<<max<<i1<<"    "<<j1;
}
Не знаю как выполнить следующее условие: Если в массиве несколько максимальных элементов , то нужно вывести минимальный номер строки, в которой встречается такой элемент, а если этой строке таких элементов несколько, то нужно вывести минимальный номер столбца. Не забудьте , что все строки и столбцы нумеруются с 0.

У меня завтра зачет, нужно показать задачу. Помогите пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2014, 17:00     Победителем соревнований объявляется тот спортсмен, у которого максимален наилучший результат по всем броскам
Посмотрите здесь:

Игра "кубики". В конце игры необходимо выводить среднюю сумму по броскам для обоих участников C++
Наилучший делитель C++
C++ Visual Studio 2008 Release - версия приложения, не объявляется переменная
Почему в функцию можно передавать аргументы с амперсандом или без него и результат тот же самый? C++
Один и тот же результат "-1.#IND" C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
tehnar5
31 / 31 / 12
Регистрация: 03.05.2011
Сообщений: 84
09.06.2014, 17:07     Победителем соревнований объявляется тот спортсмен, у которого максимален наилучший результат по всем броскам #2
Во-первых, почему условия < n - 1, < m -1? Вам же дают на вход, наверное, n спортсменов и у каждого из них m бросков. А условие минимальности у Вас и так выполняется, так как если a[i][j] == max, то вы индексы не обновляете, таким образом, в ответе будет максимум с минимальным i, а потом, при равенстве i, с минимальным j
Tchikh
50 / 70 / 11
Регистрация: 23.01.2013
Сообщений: 253
09.06.2014, 17:07     Победителем соревнований объявляется тот спортсмен, у которого максимален наилучший результат по всем броскам #3
У вас все и так будет выполнено, потому что при проверке на новый максимум строгий знак неравенства. То есть из всех равных максимальных вы возьмете первый считанный, а по условию именно он вам и нужен.
Sm4k1
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 42
10.06.2014, 15:26  [ТС]     Победителем соревнований объявляется тот спортсмен, у которого максимален наилучший результат по всем броскам #4
Блин не хочет ставить зачет. Не принимает работу. Уже несколько дней бегаю за ней . Не понимаю чего она хочет.
Как сделать чтобы при несколько равных максимальных элементах программа выводила эти два результата ?
tehnar5
31 / 31 / 12
Регистрация: 03.05.2011
Сообщений: 84
10.06.2014, 15:55     Победителем соревнований объявляется тот спортсмен, у которого максимален наилучший результат по всем броскам #5
C++
1
2
3
4
5
6
7
8
9
int ans[100][2];
 
if (a[i][j]>max) {
max=a[i][j]; ans[0][0] = i, ans[0][1] = j, cnt = 1}
else if (a[i][j] == max)
  ans[cnt][0] = i, ans[cnt][1] = j, cnt++;
 
for (int i =0; i < cnt; i++)
    cout << ans[i][0] << " " << ans[i][1] << endl;
Sm4k1
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 42
11.06.2014, 10:57  [ТС]     Победителем соревнований объявляется тот спортсмен, у которого максимален наилучший результат по всем броскам #6
До 12 часов нужно успеть.
Как сделать так чтобы программа не выдавала сразу максимальный результат, а чтобы сначала проверяла его по строкам. А потом выводила. Ну а если их уже несколько то столбцу. У меня же она выводит первый максимальный результат. Пожалуйста помогите
Tchikh
50 / 70 / 11
Регистрация: 23.01.2013
Сообщений: 253
11.06.2014, 11:04     Победителем соревнований объявляется тот спортсмен, у которого максимален наилучший результат по всем броскам #7
Sm4k1, ну одно и то же это, понимаете?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.06.2014, 11:11     Победителем соревнований объявляется тот спортсмен, у которого максимален наилучший результат по всем броскам
Еще ссылки по теме:

C++ Подсказка ко всем методам и ко всем их параметрам
C++ Возвращает один и тот же результат. Найти произведение ряда
C++ По какому виду программы спортсмен показал лучший результат

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

Или воспользуйтесь поиском по форуму:
Sm4k1
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 42
11.06.2014, 11:11  [ТС]     Победителем соревнований объявляется тот спортсмен, у которого максимален наилучший результат по всем броскам #8
Она мне другое твердит. Что делать, может по другому ее расписать как то

Добавлено через 5 минут
Она мне говорит так
4 3
1 4 2
2 5 2
5 1 4
1 2 5
Она говорит что она выводит значение 5 первого столбца. А должна была вывести 5 второй строки
Yandex
Объявления
11.06.2014, 11:11     Победителем соревнований объявляется тот спортсмен, у которого максимален наилучший результат по всем броскам
Ответ Создать тему
Опции темы

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