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

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

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

Найти, из какой школы (школ) было больше всего участников олимпиады - C++

01.07.2015, 17:04. Просмотров 524. Ответов 3
Метки нет (Все метки)

Прошу помощи. Болел - ничего не понял. Скоро экзамен, а я ничего не понимаю в С++. Дали примерные задачи, а я не понимаю как решать.
Вот задания: (помогите кто с каким может, только не просто решить, а с объяснениями) Зарание спасибо!
7. На вход программе подаются сведения о номерах школ учащихся, участвовавших в олимпиаде. В первой строке сообщается количество учащихся N, каждая из следующих N строк имеет следующий формат: <Фамилия> <Имя> <Отчество> <номер школы>, где <Фамилия> <Имя> <Отчество> - строки, состоящие не более чем из 20 символов, <номер школы> - не более чем трехзначный номер. Все поля разделены одним пробелом. Пример входной строки:
Андреева Вера Федоровна 57
Требуется написать как можно более эффективную программу, которая будет выводить на экран информацию, из какой школы (школ) было больше всего участников олимпиады. [10]
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2015, 17:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти, из какой школы (школ) было больше всего участников олимпиады (C++):

Определить среднее количество участников олимпиады из одной школы - C++
На вход программе подаются сведения о номерах школ учащихся, участвовавших в олимпиаде. В первой строке сообщается количество учащихся N....

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

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

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

Определить в какой четверти будет больше всего точек из 10 введенных. - C++
Задание такое: Ввести 10 раз координат х, у и определить в какой четверти их будет больше всего. Вот мой код#include &lt;stdafx.h&gt; #include...

В файле data.dat хранятся фамилия и годы рождения участников. найти средний возраст участников - C++
в файле data.dat хранятся фамилия и годы рождения участников. найти средний возраст участников, вывести фамилии тех участников возраст...

3
Рыжий Лис
Просто Лис
347 / 272 / 80
Регистрация: 17.05.2012
Сообщений: 1,116
Записей в блоге: 4
01.07.2015, 18:48 #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 <stdio.h>
 
struct Student {
  char f[20],i[20],o[20];
  int num;
};
 
int main(){
  int n;
  do {
    printf("N = ");
    scanf("%i",&n);
  } while (n<=0);
  Student arr[n];
  puts("Введите данные в формате <Фамилия> <Имя> <Отчество> <номер школы>");
  for (int i=0;i<n;i++){
    scanf("%s %s %s %i",arr[i].f,arr[i].i,arr[i].o,&arr[i].num);
  }
  puts("\nВы ввели следующие данные:");
  for (int i=0;i<n;i++){
    printf("%s %s %s %i\n",arr[i].f,arr[i].i,arr[i].o,arr[i].num);
  }
  int kol[1000] = {0};
  for (int i=0;i<n;i++){
    kol[arr[i].num]++;
  }
  int max=kol[0];
  for (int i=1;i<1000;i++){
    if (kol[i]>max) max=kol[i];
  }
  printf("\nИз следующих школ было больше всего участников (%i) олимпиады:\n",max);
  for (int i=0;i<1000;i++){
    if (kol[i]==max) printf("%i\n",i);
  }
}
0
Liori
4 / 4 / 1
Регистрация: 30.08.2012
Сообщений: 155
01.07.2015, 22:12 #3
Тоже не знаю, насколько эффективна
Если есть вопросы - пишите

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
#include "stdafx.h"
#include <iostream>
#include <vector>
using namespace std;
struct Student // создаём структуру
{
    char surname[80]; // фамилия
    char name[80]; // имя
    char lastName[80]; // отчество
    int schoolNumber; // номер школы
};
int main(int argc, _TCHAR* argv[])
{
    int N, count = 0, maxCount = 0,number;
    cout << "Enter the amount of students: ";
    cin >> N; // кол-во студентов
    cout << "Enter the data about every student: " << endl;
    for (int i = 0; i < N; i++) // вводим данные про студентов
    {
        Student s; // создаем перемнную типа Student
        cin >> s.surname >> s.name >> s.lastName >> s.schoolNumber; // считываем поля структуры
        count++; // прибавляем count на 1
        if (count > maxCount) // если текущий счётчик больше счётчика с максимальным значением
        {
            maxCount = count; // то счётчиком с максимальным значением становится текущий
            number = s.schoolNumber; // запоминаем номер школы
            count = 0; // обнуляем текущий счётчик
        }
    }
    cout << "Result: " << number << endl;  // выводим результат
    system("pause");
    return 0;
}
0
Рыжий Лис
Просто Лис
347 / 272 / 80
Регистрация: 17.05.2012
Сообщений: 1,116
Записей в блоге: 4
02.07.2015, 09:13 #4
Liori, сожалеем, но ваша программа работает неправильно.
0
Миниатюры
Найти, из какой школы (школ) было больше всего участников олимпиады   Найти, из какой школы (школ) было больше всего участников олимпиады  
02.07.2015, 09:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.07.2015, 09:13
Привет! Вот еще темы с ответами:

Есть данные о количестве людей, живущих в квартире 1,2,3,4...n. В какой квартире больше всего жильцов? - C++
Есть данные о количестве людей, живущих в квартире 1,2,3,4...н. В какой квартире больше всего жильцов? Если таких квартир несколько,...

Вывести файл на экран, чтобы в каждой строке было не больше 40 символов, и количество строк было минимальным - C++
Дано файл f. Вывести этот файл на экран так что бы в каждой строчке было не больше, чем 40 символов и количество строк было минимальным.

Найти и напечатать слово, в котором содержится больше всего символов “А” - C++
Дан текст, который содержит буквы и пропуски. Найти и напечатать слово, в котором содержится больше всего символов “А”. Словом считать...

Массив: Найти номер строки матрицы, в которой больше всего единичных элементов. - C++
Дана квадратная матрица А порядка n. Найти номер строки матрицы, в которой больше всего единичных элементов.


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

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

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