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

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

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

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

17.12.2013, 01:40. Просмотров 1487. Ответов 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 минут
Если можно,тогда хотя бы алгоритм подскажите!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2013, 01:40     Структура содержит информацию о спортивной команде. Найти самую молодую команду
Посмотрите здесь:

Найти самую часто встречаемую и самую редко встречаемую буквы во фрагменте произвольного текста C++
Структура содержит функцию C++
C++ Файл содержит информацию о фамилиях и номерах телефонов 10 человек
Вывести информацию о самой молодой команде C++
Составить программу, которая содержит текущую информацию о книгах в библиотеке C++
C++ Создайте класс, который содержит информацию об имени и адресе
C++ Считать с файла информацию о команде "Название" "Город", количество побед, поражений, ничьих, забитых и пропущенных мячей
C++ Структура: Для заданного автора вывести на экран его самую раннюю книгу и самую последнюю - по году издания.
Составить программу которая содержит динамическую информацию об автобусном парке C++
Написать friend функцию, которая выведет информацию о самом легком спортсмене в команде C++
Составить программу, которая содержит текущую информацию о заявках на авиабилеты C++
C++ Найти ее самую большую последовательность, которая не содержит нулевых значений

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
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];
jurok_85
238 / 221 / 76
Регистрация: 21.02.2013
Сообщений: 515
Завершенные тесты: 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;
}
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)
jurok_85
238 / 221 / 76
Регистрация: 21.02.2013
Сообщений: 515
Завершенные тесты: 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;
 
    }
но с функцией гораздо удобней меньше печатать текста
Genn55
355 / 202 / 38
Регистрация: 26.12.2012
Сообщений: 680
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;
}
Yandex
Объявления
23.12.2013, 03:59     Структура содержит информацию о спортивной команде. Найти самую молодую команду
Ответ Создать тему
Опции темы

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