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

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

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

Разбор задачи на построение массивов - C++

02.04.2014, 17:53. Просмотров 469. Ответов 4
Метки нет (Все метки)

В метании молота состязается n спортcменов. Каждый из них сделал m бросков. Побеждает спортсмен, у которого максимален наилучший бросок. Если таких несколько, то из них побеждает тот, у которого наилучшая сумма результатов по всем попыткам. Если и таких несколько, победителем считается спортсмен с минимальным номером. Определите номер победителя соревнований.
Формат входных данных

Программа получает на вход два числа n и m, являющиеся числом строк и столбцов в массиве. Далее во входном потоке идет n строк по m чисел, являющихся элементами массива.

Формат выходных данных

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

Ввод : 4 3
8 8 8
5 9 3
9 4 7
6 6 2
Вывод:2.

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

Разбор массивов/контейнеров - C++
Только начинаю изучть с++, необходимо сделать 2 ассоциативных динамических массива и походу сразу разобраться что да как. Задача такова,...

Разбор задачи по С++ - C++
В универе дали задачу с условием, которое я не могу понять. Спросить у препода есть вариант, но только через неделю, поэтому хотелось бы,...

Разбор задачи на конструкторы - C++
Привет всем! Такая проблема,есть лаба,не могу понять что она делает и зачем нужны три вида конструкторов.

Не правильное построение задачи - C++
17 номер Задача на C++ #include <stdio.h> #include <math.h> #include <iostream> int main() { double x = 6.35...

Задачи на формирование двумерных массивов - C++
Записать матрицу случайными числами. Отобразить верхнюю половину матрицы на нижнюю зеркально симметрично относительно горизонталь ной оси.

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

4
tron737
8 / 8 / 4
Регистрация: 29.12.2013
Сообщений: 27
02.04.2014, 18:33 #2
вот как-то так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
#include <math.h>
using namespace std;
 
int main()
{
    int a[100][100], n, m, max = 0,maxx = 0, imax, imaxx;
    cin >> n >> m;
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            cin >> a[i][j];
        }
    }
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            if (max < a[i][j])
            {
                max = a[i][j];
                imax = i;
                break;
            }
            else if((i > imax) && (a[i][j] = max) && (maxx < a[i][j]))
            {
                maxx = a[i][j];
                imaxx = i + imax - 1;
            }
        }
    }
    cout << imaxx;
    system("pause");
}
0
kasadi
0 / 0 / 0
Регистрация: 13.01.2014
Сообщений: 65
03.04.2014, 10:57  [ТС] #3
К сожалению ресурс http://informatics.mccme.ru/mod/stat...hapterid=358#1
сказал что лишь 7 из 12 тестов были пройдены положительно. Может ли кто нибудь мне помочь разобраться, и составить такой код, чтобы он функционировал всегда правильно?

Добавлено через 15 часов 16 минут
Никто не против если Я подниму тему?
0
Voivoid
675 / 278 / 12
Регистрация: 31.03.2013
Сообщений: 1,339
03.04.2014, 11:40 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <algorithm>
#include <iostream>
#include <numeric>
#include <utility>
#include <vector>
 
int main() {
 
  int n = 0;
  int m = 0;
 
  typedef std::vector<int> ResultsData;
  typedef std::pair<int, ResultsData> Results;
  
  std::cin >> n >> m;
  std::vector<Results> data( n );
  for( int i = 0; i < n; ++i ) {
    data[ i ] = std::make_pair( i, ResultsData( m ) );
  }
  
  for( int in = 0; in < n; ++in ) {
    for( int im = 0; im < m; ++im ) {
      std::cin >> data[ in ].second[ im ];
    }
  }
 
  static const auto max_pred = []( const Results& r1, const Results& r2 ) {
    const ResultsData& r1_data = r1.second;
    const ResultsData& r2_data = r2.second;
 
    auto r1_max = std::max_element( r1_data.cbegin(), r1_data.cend() );
    auto r2_max = std::max_element( r2_data.cbegin(), r2_data.cend() );
 
    if( *r1_max != *r2_max ) {
      return *r1_max < *r2_max;
    }
 
    auto r1_sum = std::accumulate( r1_data.cbegin(), r1_data.cend(), 0 );
    auto r2_sum = std::accumulate( r2_data.cbegin(), r2_data.cend(), 0 );
 
    if( r1_sum != r2_sum ) {
      return r1_sum < r2_sum;
    }
 
    return r1.first > r2.first;
  };
 
  std::cout << std::max_element( data.cbegin(), data.cend(), max_pred )->first;
  
  return 0;
}
1
kasadi
0 / 0 / 0
Регистрация: 13.01.2014
Сообщений: 65
03.04.2014, 12:33  [ТС] #5
Потрясающий код!) Только вот для моего уровня это пока что слишком сложно. Как и для понимания, так и для учителя который зная мой уровень будет проверять код)
0
03.04.2014, 12:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.04.2014, 12:33
Привет! Вот еще темы с ответами:

Помогите составить программу транспортной задачи.Построение опорного плана перевозок методом минимального элемента. - C++
Однородный груз сосредоточен у 3х поставщиков в объемах 200,300,500 тонн .Данный груз необходимо доставить 4ем потребителям в обьемах...

Две задачи на тему "Организация и обработка массивов данных" - C++
Прошу помочь в составлении кода программы следующих двух задач: 1) Найти максимальное из чётных элементов массива с нечётными номерами...

Разбор задачи - C#
Описать тип TDate — структура с полями целого типа Day (день), Month (месяц) и Year (год). Создать массив структур (не более чем для пяти...

Разбор задачи - PascalABC.NET
Объясните, пожалуйста, для чего нужна строка, выделенная зеленым, вот в этой программе const Letters =...


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

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

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