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

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

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

Вывести трех лучших учеников - C++

05.09.2014, 17:57. Просмотров 311. Ответов 8
Метки нет (Все метки)

данные хранятся в файле. дано 25учеников сдавших егэ. пример Иванов Петр 5 5 5
Петрова лена 5 5 4
--- ------
требуется вывести трех лучших учеников по среднему балу
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.09.2014, 17:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывести трех лучших учеников (C++):

Структуры: вывести фамилии трех лучших учеников данного класса - C++
Анкета школьника включает в себя Ф.И.О., номер школы, номер класса и оценки по пяти предметам. Вывести фамилии трех лучших учеников данного...

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

Двумерный массив, вывести учеников, рост которых равен среднему арифметическому роста всех учеников - C++
Помогите пожалуйста, нужно задать двумерный массив A: Номер уч-ка и его рост B: Вес уч-ка а) вывести уч-ков, рост которых ср....

Вывести результаты трёх лучших участников соревнований и их фамилии - C++
В ЭВМ поступают фамилии и результаты N участников соревнований по плаванию и их фамилии. Вывести результаты трех лучших участников и их...

Вывести результаты трёх лучших участников соревнований и их фамилии - C++
В ЭВМ поступают фамилии и результаты N участников соревнований по плаванию и их фамилии. Вывести результаты трех лучших участников и их...

В массиве хранится 20 значений забега, вывести на экран 3 лучших результата забега. - C++
В массиве хранится 20 значений забега, вывести на экран 3 лучших результата забега. Может кто-то скинуть код программы_ желательно с...

8
zss
Модератор
Эксперт С++
6587 / 6149 / 2025
Регистрация: 18.12.2011
Сообщений: 16,029
Завершенные тесты: 1
05.09.2014, 18:53 #2
В чем вопрос, написать за Вас программу?
0
vergeev
0 / 0 / 0
Регистрация: 05.09.2014
Сообщений: 4
05.09.2014, 20:00  [ТС] #3
напишите решение пожалуйста
0
Rookie Hose
4 / 4 / 2
Регистрация: 25.08.2014
Сообщений: 36
05.09.2014, 20:06 #4
Заранее предупреждаю, я очень недавно изучаю программирование, но сделал бы так:
перед объявлением оценок, создал бы переменную
best = 0;
Далее, первый ввод оценок;
сравнение best и среднюю оценку первого ученика. переменная best, понятное дело, присвоится первому ученику;
далее, каждый следующий ученик сравнивается с предыдущим, если больше, переменная обновляется

и т.д.

на выходе получаете лучшего ученика

Думаю, здесь ничего сложного
0
КОП
361 / 280 / 86
Регистрация: 15.08.2010
Сообщений: 764
05.09.2014, 20:14 #5

Не по теме:

Rookie Hose, зря стараетесь,человеку нужно только готовенькое


Ну и к вашему алгоритму, думаю, логичнее завернуть все в один цикл и хранить 3 лучших балла + индексы учеников, которые их набрали.
0
vergeev
0 / 0 / 0
Регистрация: 05.09.2014
Сообщений: 4
05.09.2014, 20:24  [ТС] #6
данные в файле текстовом. если вводить данные с клавиатуры то это я могу сделать. а как связать это с выводом из файла не знаю. пришлите код пожалуйста
0
КОП
361 / 280 / 86
Регистрация: 15.08.2010
Сообщений: 764
05.09.2014, 20:34 #7
Цитата Сообщение от vergeev Посмотреть сообщение
если вводить данные с клавиатуры то это я могу сделать.
так сделайте, а мы поможем реализовать чтение из файла. Только вместе с текущим кодом для консольного напишите формат данных в файле.
0
vergeev
0 / 0 / 0
Регистрация: 05.09.2014
Сообщений: 4
05.09.2014, 20:38  [ТС] #8
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
52
53
54
55
56
57
58
59
60
61
#include "stdafx.h"
# include "iostream"
# include "math.h"
#include <fstream>
#include <tchar.h>
struct ege  {   char fam[20];
            char name[15];
            int o1;
            int o2;
            int o3;
            int sred;   };
using namespace std;
void main ()
{
    int i,n,min,s1,s2,s3;
    cout<<"Vvedite kolichestvo uchenikov"<<endl;
    cin>>n;
    s1=s2=s3=200;
    ege a[100];
    while (!(n>=2 && n<=100))
    {
        cout<<"Nepravilnii vvod. Chislo uchenikov dolzno bit' <100 i >10"<<endl;
    cout<<"Vvedite kolichestvo uchenikov"<<endl;
    cin>>n;
    }
        cout<<"Vvedite dannie Familia Name ball_1 ball_2 ball_3"<<endl;
        for (i=0;i<n;i++)
        {
            cin>>a[i].fam>>a[i].name>>a[i].o1>>a[i].o2>>a[i].o3;
            a[i].sred = (a[i].o1+a[i].o2+a[i].o3)/3;
        }
        cout<<endl<<"  Spisok uchenikov  "<<endl;
        for (i=0;i<n;i++)
        {
        if (a[i].sred<s1)
        {
            s3=s2;s2=s1;
            s1=a[i].sred;
                    }
            if (a[i].sred<s2)
            {
                s3=s2;
                s2=a[i].sred;       
            }   
                if (a[i].sred<s3)
                {
                    s3=a[i].sred;}              
                cout<<endl<<"--------------------"<<endl<<a[i].fam<<" "<<a[i].name<<" "<<a[i].o1<<" "<<a[i].o2<<" "<<a[i].o3<<"  Srednee znachenie  "<<a[i].sred<<endl<<endl;
 
        }   
 
cout<<"Hudshie srednie balli ege"<<endl;
cout<<s1<<" "<<s2<<" "<<s3<<endl;
for (i=0;i<n;i++)
{
    if (a[i].sred<=s3)
        cout<<endl<<a[i].fam<<" "<<a[i].name<<" "<<a[i].sred<<endl;
    
}
 system("pause");
}
только выводиться один ученик
0
КОП
361 / 280 / 86
Регистрация: 15.08.2010
Сообщений: 764
05.09.2014, 20:43 #9
vergeev, нужен ваш код, а не копия (к тому же неправильная) с Вывести имена трех худших по баллу
спешу откланяться, ибо не стоит поднимать больше эту тему.
0
05.09.2014, 20:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.09.2014, 20:43
Привет! Вот еще темы с ответами:

Вывести фамилии неуспевающих учеников - C++
Решил для себя порешать задачи из ЕГЭ, столкнулся с проблемой. Условие. На вход программе подаются сведения о сдаче экзаменов...

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

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

Вывести на экран фамилию, имя и адрес учеников, у которых нет домашнего телефона - C++
Известны данные о 25-ти учениках класса: фамилия, имя, отчество, адрес и домашний телефон, если он есть. Вывести на экран фамилию, имя и...


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

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

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