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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Sm4k1
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 42
#1

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

09.06.2014, 17:00. Просмотров 408. Ответов 7
Метки нет (Все метки)

Здравствуйте, помогите доделать следующую задачу. Победителем соревнований объявляется тот спортсмен, у которого максимален наилучший результат по всем броскам. Таким образом , программа должна найти значение максимального элемента в данном массиве , а так же его индексы ( то есть номер спортсмена и номер попытки ). Программа выводит значение максимального элемента , затем номер строки и номер столбца , в котором он встречается.

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

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.

У меня завтра зачет, нужно показать задачу. Помогите пожалуйста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2014, 17:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Победителем соревнований объявляется тот спортсмен, у которого максимален наилучший результат по всем броскам (C++):

Построить такой многоугольник с вершинами в заданном на плоскости множестве точек периметр которого максимален - C++
Саламалейкум, парни. Такая задача: Построить такой многоугольник(не обязательно выпуклый) с вершинами в заданном на плоскости множестве...

Победителем считается тот спортсмен, у которого сумма результатов по всем броскам максимальна - Pascal
Здравствуйте. Помогите пожалуйста неумехе. Плохо понимаю Pascal :( Задания: 2) В метании молота состязается n спортcменов. Каждый...

Определить, вышел ли данный спортсмен в следующий этап соревнований - C#
В массиве хранится информация о баллах, полученных спортсменом- десятиборцем в каждом из десяти видов спорта. Для выхода в следующий этап...

Определить, вышел ли заданный спортсмен в следущий этап соревнований - Turbo Pascal
Помогите пожалуйста решить задачу на тему массивы вот задача &gt;&gt;&gt;&gt;&gt; В массиве храниться информация о балах полученых спортсменом...

Определить, вышел ли данный спортсмен в следующий этап соревнований - PHP
В массиве хранится информация о баллах, полученных спортсменом-десятиборцем в каждом из десяти видов спорта. Для выхода в следующий этап...

Вычислить, сколько очков в сумме набрал каждый спортсмен после окончания соревнований - Pascal ABC
N спортсменов-многоборцев принимают участие в соревнованиях по М видам спорта. По каждому виду спорта спортсмен набирает определенное...

7
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
1
Tchikh
50 / 70 / 11
Регистрация: 23.01.2013
Сообщений: 273
09.06.2014, 17:07 #3
У вас все и так будет выполнено, потому что при проверке на новый максимум строгий знак неравенства. То есть из всех равных максимальных вы возьмете первый считанный, а по условию именно он вам и нужен.
1
Sm4k1
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 42
10.06.2014, 15:26  [ТС] #4
Блин не хочет ставить зачет. Не принимает работу. Уже несколько дней бегаю за ней . Не понимаю чего она хочет.
Как сделать чтобы при несколько равных максимальных элементах программа выводила эти два результата ?
0
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;
1
Sm4k1
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 42
11.06.2014, 10:57  [ТС] #6
До 12 часов нужно успеть.
Как сделать так чтобы программа не выдавала сразу максимальный результат, а чтобы сначала проверяла его по строкам. А потом выводила. Ну а если их уже несколько то столбцу. У меня же она выводит первый максимальный результат. Пожалуйста помогите
0
Tchikh
50 / 70 / 11
Регистрация: 23.01.2013
Сообщений: 273
11.06.2014, 11:04 #7
Sm4k1, ну одно и то же это, понимаете?
0
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 второй строки
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.06.2014, 11:11
Привет! Вот еще темы с ответами:

Вычислить, сколько очков в сумме набрал каждый спортсмен после окончания соревнований - Pascal
N спортсменов-многоборцев принимают участие в соревнованиях по М видам спорта. По каждому виду спорта спортсмен набирает определенное...

Структуры: Вычислить, сколько очков в сумме набрал каждый спортсмен после окончания соревнований - C (СИ)
Кто шарит в структурах, и у кого не отнимет много сил и времени, помогите, пожалуйста, с прогой) Буду очень признателен Вам. N...

Построить такой многоугольник, периметр которого максимален - Pascal
Цель задачи: Построить такой многоугольник (не обязательно выпуклый) с вершинами в заданном на плоскости множестве точек, периметр которого...

Определите номер и значение числа, квадрат которого максимален - Turbo Pascal
Даны n чисел. Определите номер и значение числа, квадрат которого максимален.


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

Или воспользуйтесь поиском по форуму:
8
Yandex
Объявления
11.06.2014, 11:11
Ответ Создать тему
Опции темы

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