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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
spectrum988
0 / 0 / 1
Регистрация: 24.10.2013
Сообщений: 47
#1

Структура содержит информацию о спортивной команде. Найти самую молодую команду - C++

17.12.2013, 01:40. Просмотров 2017. Ответов 5
Метки нет (Все метки)

Здравствуйте!Помогите решить задачу.
Задание:
Информация об участниках спортивных соревнований содержит наименование страны, название команды, ФИО игрока, игровой номер, возраст, рост и вес. Вывести информацию о самой молодой команде. (в коде я опустил такие поля,как номер,рост,вес, т.к по ним не будет проводиться отбор молодой команды)
Не знаю прописать нахождение самой молодой команды.
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
#include <iostream.h>
#include <string.h>
#include <conio.h>
int main ()
{
struct
{
char strana[20];
char team[20];
char fio[40];
int year;
} users[10];
int u,i,s;
cout << "Vvedite kol-vo members" << endl;
cin >> u;
for (i=0; i<u; i++)
{
cout << "Strana:";
cin >> users[i].strana;
cout << "Komanda:";
cin >> users[i].team;
cout << "FIO:";
cin >> users[i].fio;
cout << "Vozrast:";
cin >> users[i].year;
cout << "\n";
}
system("pause");
return 0;
}
Добавлено через 1 час 6 минут
Если можно,тогда хотя бы алгоритм подскажите!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2013, 01:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Структура содержит информацию о спортивной команде. Найти самую молодую команду (C++):

Структура: Для заданного автора вывести на экран его самую раннюю книгу и самую последнюю - по году издания. - C++
Дан массив записей, содержащий сведения о книгах: фамилия автора, название книги, год издания книги. Для заданного автора найти и вывести...

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

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

Массив структур: вывести информацию о самой молодой команде - C++
Задание по структуре. Есть информация об участниках соревнований, наименование страны, название команды, ФИО, номер, возраст, рост и вес....

Написать friend функцию, которая выведет информацию о самом легком спортсмене в команде - C++
Здравствуйте помогите написать функцию друг которая выводит информацию о самом легком спотсмене должно выводиться так ФИО Игровой...

Структура содержит функцию - C++
Налоговая инспекция использует на каждого налогоплательщика следующие данные: идентификационный номер налогоплательщика (ИНН), месячный...

5
abit
271 / 270 / 35
Регистрация: 03.02.2013
Сообщений: 760
17.12.2013, 01:41 #2
Не знаю прописать нахождение самой молодой команды.
Нефига не понял в этом предложении, Вы сами можете понять что написали? В чём вопрос вообще?
если вам надо найти самую молодую команду из users - сделайте что-то типа этого
C++
1
2
int uniorest(-1);
for (unsigned int i=первая команда; i!=последняя команда;++i) if (users[i].year<uniores) uniorest=users[i];
0
jurok_85
241 / 225 / 78
Регистрация: 21.02.2013
Сообщений: 520
Завершенные тесты: 1
17.12.2013, 03:33 #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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <iostream>
 
using namespace std;
 
struct team{
char strana[20];
char fio[40];
int year;
};
istream& read(istream& is, team& t)
{
    cout << " Strana:";
        is >> t.strana;
        cout << "FIO:";
        is >> t.fio;
        cout << "Vozrast:";
        cin >> t.year;
        cout << "\n";
        return is;
}
int main()
{
    team dinamo[3], spartak[3], chelsea[3];
    int dtotalage = 0 , stotalage = 0, ctotalage = 0;
    for(int i = 0; i != 3; i++)
    {
        cout << "Vvedite igroka komandi dinamo: " << endl;
        read(cin, dinamo[i]);
        dtotalage += dinamo[i].year;
        cout << "Vvedite igroka komandi spartak: " << endl;
        read(cin, spartak[i]);
        stotalage += spartak[i].year;
        cout << "Vvedite igroka komandi chelsea: " << endl;
        read(cin, chelsea[i]);
        ctotalage += chelsea[i].year;
 
    }
 
        if(dtotalage < stotalage && dtotalage < ctotalage)
            for(int i = 0; i != 3; i++)
            cout << dinamo[i].fio << " " << dinamo[i].strana << " " << dinamo[i].year << endl;
        else if(stotalage < dtotalage && stotalage < ctotalage)
             for(int i = 0; i != 3; i++)
            cout << spartak[i].fio << " " << spartak[i].strana << " " << spartak[i].year << endl;
        else
         for(int i = 0; i != 3; i++)
            cout << chelsea[i].fio << " " << chelsea[i].strana << " " << chelsea[i].year << endl;
 
 
 
    return 0;
}
1
spectrum988
0 / 0 / 1
Регистрация: 24.10.2013
Сообщений: 47
21.12.2013, 22:55  [ТС] #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
52
53
54
55
56
57
58
59
#include <iostream.h>
#include <conio.h>
struct team
{
char strana[20];
char fio[40];
int year;
int number;
int rost;
int ves;
}team;
int main()
{
cout << " Strana:";
cin >> team.strana;
cout << "FIO:";
cin >> team.fio;
cout << "Number: ";
cin>> team.number;
cout << "Vozrast:";
cin >> team.year;
cout << "Rost:";
cin >> team.rost;
cout << "Ves:";
cin >>team.ves;
cout << "\n";
{
 team arsenal[10], bayern[10], chelsea[10];
 int as = 0 , bs = 0, cs = 0;
 cout << "Koli4estwo igrokow Гў komande";
 cin>>ik;
  for(int i = 0; i != ik; i++)
   {
    cout << "Vvedite igroka komandi arsenal: " << endl;
    cin >> arsenal[i];
    av+= arsenal[i].year;
    cout << "Vvedite igroka komandi bayern: " << endl;
    cin >> bayern[i];
    bv= bayern[i].year;
    cout << "Vvedite igroka komandi chelsea: " << endl;
    cin >> chelsea[i];
    cv+= chelsea[i].year;
   }
    asv=av/ik;
    bsv=bv/ik;
    csv=cv/ik;
    if(asv < bsv && asv < csv)
     for(int i = 0; i != ik; i++)
      cout <<arsenal[i].strana<<" "<< arsenal[i].fio << " " <<arsenal[i].number<< " " << arsenal[i].year<<" "<<arsenal[i].rost<<" "<<arsenal[i].ves<<" "<<endl;
    else if(bsv < asv && bsv < csv)
     for(int i = 0; i != ik; i++)
      cout << bayern[i].strana<<" "<< bayern[i].fio << " " <<bayern[i].number<< " " << bayern[i].year<<" "<<bayern[i].rost<<" "<<bayern[i].ves<<" "<<endl;
    else
     for(int i = 0; i != ik; i++)
      cout << chelsea[i].strana<<" "<< chelsea[i].fio << " " <<chelsea[i].number<< " " << chelsea[i].year<<" "<<chelsea[i].rost<<" "<<chelsea[i].ves<<" "<<endl;
getch();
return 0;
}
}
Добавлено через 1 час 58 минут
Как можно поправить код без использования
istream& read(istream& is, team& t)
0
jurok_85
241 / 225 / 78
Регистрация: 21.02.2013
Сообщений: 520
Завершенные тесты: 1
23.12.2013, 01:45 #5
Объявляются структуры так:
например мы назвали структуру team значит в майн функции мы пишем так
C++
1
2
3
4
 int main()
{
    team dinamo;
}
если хочешь массив структур то
C++
1
2
3
4
int main()
{
    team dinamo[размер];
}
а чтоб без функции read в цикле for
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
for(int i = 0; i != 3; i++)
    {
        cout << "Vvedite igroka komandi dinamo: " << endl;
       cout << " Strana:";
        is >> dinamo[i].strana;
        cout << "FIO:";
        is >> dinamo[i].fio;
        cout << "Vozrast:";
        cin >> dinamo[i].year;
        dtotalage += dinamo[i].year;
        cout << "Vvedite igroka komandi spartak: " << endl;
          cout << " Strana:";
        is >>spartak[i].strana;
        cout << "FIO:";
        is >> spartak[i].fio;
        cout << "Vozrast:";
        cin >> spartak[i].year;
        stotalage += spartak[i].year;
        cout << "Vvedite igroka komandi chelsea: " << endl;// ну и так же с челси
        ctotalage += chelsea[i].year;
 
    }
но с функцией гораздо удобней меньше печатать текста
0
Genn55
374 / 221 / 41
Регистрация: 26.12.2012
Сообщений: 726
23.12.2013, 03:59 #6
jurok_85 У вас структура заполнится один раз по каждой команде.Одним циклом не обойтись.Наверное нужно так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  for(int i = 0; i != 3; i++)
    {
        cout << "Vvedite igroka komandi dinamo: " << endl;
        read(cin, dinamo[i]);
        dtotalage += dinamo[i].year;
    }
    for(int i = 0; i != 3; i++)
     {
        cout << "Vvedite igroka komandi spartak: " << endl;
        read(cin, spartak[i]);
        stotalage += spartak[i].year;
     }
     for(int i = 0; i != 3; i++)
     {
        cout << "Vvedite igroka komandi chelsea: " << endl;
        read(cin, chelsea[i]);
        ctotalage += chelsea[i].year;
     }
Добавлено через 1 час 28 минут
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
#include <iostream>
#include <cstdlib>
using namespace std;
 
struct team{
char strana[20];
char fio[40];
int year;
};
istream& read(istream& is, team& t)
{
    cout << " Strana:";
        is >> t.strana;
        cout << "FIO:";
        is >> t.fio;
        cout << "Vozrast:";
        cin >> t.year;
        cout << "\n";
        return is;
}
int main()
{
    system("chcp 1251 > nul");
    team dinamo[3], spartak[3], chelsea[3];
    int a= 0 , b = 0, c = 0;
   const char* tmp;
    for(int i = 0; i != 3; i++)
    {
        cout << "Vvedite igroka komandi dinamo: " << endl;
        read(cin, dinamo[i]);
        a += dinamo[i].year;
    }
    for(int i = 0; i != 3; i++)
     {
        cout << "Vvedite igroka komandi spartak: " << endl;
        read(cin, spartak[i]);
        b += spartak[i].year;
     }
     for(int i = 0; i != 3; i++)
     {
        cout << "Vvedite igroka komandi chelsea: " << endl;
        read(cin, chelsea[i]);
        c  += chelsea[i].year;
     }
    if (a < b) {
        if (c < a) {
            tmp = "chelsea";
        } else {
            tmp = "dinamo";
        }
    } else if (c < b) {
        tmp = "chelsea";
    } else {
        tmp = "spartak";
    }
 
    cout << "Min: " << tmp << endl;
 
    return 0;
}
0
23.12.2013, 03:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.12.2013, 03:59
Привет! Вот еще темы с ответами:

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

Структура: Найти самую молодую команду среди учасников турнира. - Delphi
Здравствуйте, помогите пожалуйста решить задачу Есть запись с такой структурой: type Tsportsman = record team:...

Найти самого старого мужчину и самую молодую женщину в списке группы - Pascal ABC
Всем привет, дали условие &quot;Дан список группы в 10 человек в виде ФАМИЛИЯ ГОД_РОЖД. ПОЛ 15 симв. 4 симв. 1 симв. Иванов 1985 М Петрова...

Написать программу, реализующую хранение информации о спортивной команде - C (СИ)
помогите пожалуйста написать программу, и разобраться что к чему(((программу, реализующую хранение информации о спортивной команде:...


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

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

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