Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
4 / 4 / 4
Регистрация: 06.03.2011
Сообщений: 319
1

Программа обработки итоговой таблицы

26.04.2011, 21:37. Показов 1140. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Составить программу обработки итоговой таблицы чемпионата по футболу. Игры проходили в один круг, каждая команда играла с другой один раз. В программе предусмотреть ввод исходный данных в файл. Обработка должна включать в себя-построение итоговой таблицы чемпионата с распределением команд согласно занятым местам с подсчетом очков,набранных каждой командой (победа-2 очка,ничья-1, поражение 0)определение и вывод названия команды(команд):одержавших наибольшее количество побед,забивших в чемпионате наибольшее количество мячей,имующую лучшую разность забитых и пропущеннных мячей.

ПРОШУ О ПОМОЩИ!!!!!НЕ ЗНАЮ ДАЖЕ С ЧЕГО НАЧАТЬ!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.04.2011, 21:37
Ответы с готовыми решениями:

Обработка итоговой таблицы шахматного турнира
Составить программу обработки итоговой таблицы шахматного турнира. В программе предусмотреть ввод...

Программа обработки массива
с помощью указателей. Ввести с клавиатуры одномерный массив из 5 чисел , подсчитать сумму...

Программа обработки матриц
Всем здравствуйте. Было задание: Разработать программу для обработки матриц. Программа должна...

Программа обработки структур
Найдите пожалуйста ошибку. На 33 строке выдаёт error: too few arguments to function 'complex mul...

2
4 / 4 / 4
Регистрация: 06.03.2011
Сообщений: 319
06.05.2011, 21:02  [ТС] 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
#include "stdafx.h"
#include "iostream"
#include <conio.h>
#include <fstream>
 
struct tab 
{
    char name[1024];
    char pob[1024];
    char por[1024];
    char nich[1024];
    char zab[1024];
    char prop[1024];
}
 
void main()
 
{
    setlocale(LC_ALL,"Russian");
    FILE*str;
    str=fopen("m.txt","r");
    
    fclose(str);
getch();
 
}
0
4 / 4 / 4
Регистрация: 06.03.2011
Сообщений: 319
13.05.2011, 13:33  [ТС] 3
Помогите сделать правильно функцию нахождения команд одержавший большее количество побед
C
1
2
3
4
5
6
7
8
9
void max (int ln,int max1)
{ max1=team[0].victory;
   for(int i = 0; i < ln-1; i++)
   {
       if(team[i].victory>max1)
           max1=team[i].victory;
   }
   cout<<"Максимальное кличество побед"<<max1<<endl;
}
C
1
max(number);
Вот код откуда берутся данные


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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
#include "stdafx.h"
#include "iostream"
#include <conio.h>
#include <string>
#include <iomanip>
#include <fstream>
using namespace std;
struct t
{
    string name;
    int victory;
    int draw;
    int lose;
    int goals;
    int missed;
    int points;
}*team,srt,max1;
 
 
void out(int ln)
{
    system("CLS");
    for(int i = 0; i < ln; i++)
    {
 
        cout<<setw(3)<< i+1<<" - "<<setw(6)<< team[i].name<<"  "<<setw(3)<<team[i].points<<endl;
    }
}
 
    
 
 
void sort(int ln)
{
    bool chk = false;
    int count;
    while(!chk)
    {
        count = 0;
        for(int i = 0; i < ln-1; i++)
        {
            if(team[i].points < team[i+1].points)
            {
                srt.name = team[i].name;
                srt.victory = team[i].victory;
                srt.draw = team[i].draw;
                srt.lose = team[i].lose;
                srt.goals = team[i].goals;
                srt.missed = team[i].missed;
                srt.points = team[i].points;
 
                team[i].name = team[i+1].name;
                team[i].victory = team[i+1].victory;
                team[i].draw = team[i+1].draw;
                team[i].lose = team[i+1].lose;
                team[i].goals = team[i+1].goals;
                team[i].missed = team[i+1].missed;
                team[i].points = team[i+1].points;
 
                team[i+1].name = srt.name;
                team[i+1].victory = srt.victory;
                team[i+1].draw = srt.draw;
                team[i+1].lose = srt.lose;
                team[i+1].goals = srt.goals;
                team[i+1].missed = srt.missed;
                team[i+1].points = srt.points;
 
                count++;
            }
            
        }
        if(count == 0)
                chk = true;
    }
}
 
void fileout(int ln)
{
    ofstream output("out.txt",ios::out);
    for(int i = 0; i < ln; i++)
    {
        output<<setw(3)<< i+1<<" - "<<setw(6)<< team[i].name<<"  "<<setw(3)<<team[i].points<<endl;
    }
    output.close();
}
 
void max (int ln,int max1)
{ max1=team[0].victory;
   for(int i = 0; i < ln-1; i++)
   {
       if(team[i].victory>max1)
           max1=team[i].victory;
   }
   cout<<"Максимальное кличество побед"<<max1<<endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"");
    int number;
    cout<<"Введите количество команд: ";
    cin>>number;
    team = new t [number];
    for(int i = 0; i < number; i++)
    {
tchk:   system("CLS");
        cout<<"Ввод данных для "<<i+1<<" команды:"<<endl;
        cout<<"Суммарное количество игр равно: "<<number-1<<endl;
        cout<<"Введите название команды: ";
        cin>>team[i].name;
        cout<<endl;
        cout<<"Введите количество побед: ";
        cin>>team[i].victory;
        cout<<endl;
        cout<<"Введите количество ничей: ";
        cin>>team[i].draw;
        cout<<endl;
        cout<<"Введите количество поражений: ";
        cin>>team[i].lose;
        cout<<endl;
        cout<<"Введите количество забитых голов: ";
        cin>>team[i].goals;
        cout<<endl;
        cout<<"Введите пропущенных голов: ";
        cin>>team[i].missed;
        cout<<endl;
        if((team[i].victory + team[i].draw + team[i].lose) != (number-1)) 
        {
            cout<<"Количество игр, введено неверно!"<<endl;
            system("pause");
            goto tchk;
        }
        team[i].points = team[i].victory*2 + team[i].draw;
    }
sort(number);
out(number);
fileout(number);
max(number);
 
cout<<endl;
system("pause");
    return 0;
 
}
Добавлено через 12 минут
Вроде получилось выводит однумаксимальную.....только как сделать так чтобы выводил не одну команду а несколько если у них одинаковое наибольшее количество побед?

C
1
2
3
4
5
6
7
8
9
10
void max (int ln,int max1,int a)
{ max1=team[0].victory;
   for(int i = 0; i < ln-1; i++)
   {
       if(team[i].victory>max1)
           max1=team[i].victory;
           a=i;
   }
   cout<<"Максимальное кличество побед  "<<team[a].victory<<max1<<endl;
}
Добавлено через 50 минут
Помогите пожалуйста с находением максимальных побед, максимальных забитых голов, и максимальных разностей между забитыми и пропущенными голами...

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
void max_victory (int ln,int max1,int a)
{ max1=team[0].victory;
   for(int i = 0; i < ln-1; i++)
   {
       if(team[i].victory>max1)
           max1=team[i].victory;
           a=i;
      
   }
 cout<<"Максимальное кличество побед  "<<team[a].name<<team[a].victory<<endl;
}
void max_goals(int ln,int max1,int a)
{ max1=team[0].goals;
   for(int i = 0; i < ln-1; i++)
   {
       if(team[i].goals>max1)
           max1=team[i].goals;
          a=i;
      
   }
 cout<<"Наибольшее количество забитых мячей "<<team[a].name<<team[a].goals<<endl;
      
}
void max_rajn(int ln,int max1,int a)
{ max1=team[0].goals-team[0].missed;
   for(int i = 0; i < ln-1; i++)
   {
       if(team[i].goals-team[i].missed>max1)
           max1=team[i].goals-team[i].missed;
          a=i;
       
   }
cout<<"Наибольшая разность между забитыми и пропущенными мячами "<<team[a].name<<team[a].goals-team[a].missed<<endl;
      
}
Добавлено через 18 часов 46 минут





Ну пожалуйста помогите доработать(((



[C]
#include "stdafx.h"
#include "iostream"
#include <conio.h>
#include <string>
#include <iomanip>
#include <fstream>
#include <windows.h>
using namespace std;
struct t
{
string name;
int victory;
int draw;
int lose;
int goals;
int missed;
int points;
}*team,srt;


void out(int ln)
{
system("CLS");
for(int i = 0; i < ln; i++)
{

cout<<setw(3)<< i+1<<" - "<<setw(6)<< team[i].name<<" "<<setw(3)<<team[i].points<<endl;
}
}




void sort(int ln)
{
bool chk = false;
int count;
while(!chk)
{
count = 0;
for(int i = 0; i < ln-1; i++)
{
if(team[i].points < team[i+1].points)
{
srt.name = team[i].name;
srt.victory = team[i].victory;
srt.draw = team[i].draw;
srt.lose = team[i].lose;
srt.goals = team[i].goals;
srt.missed = team[i].missed;
srt.points = team[i].points;

team[i].name = team[i+1].name;
team[i].victory = team[i+1].victory;
team[i].draw = team[i+1].draw;
team[i].lose = team[i+1].lose;
team[i].goals = team[i+1].goals;
team[i].missed = team[i+1].missed;
team[i].points = team[i+1].points;

team[i+1].name = srt.name;
team[i+1].victory = srt.victory;
team[i+1].draw = srt.draw;
team[i+1].lose = srt.lose;
team[i+1].goals = srt.goals;
team[i+1].missed = srt.missed;
team[i+1].points = srt.points;

count++;
}

}
if(count == 0)
chk = true;
}
}

void fileout(int ln,int maxvictory,int maxgoals,int maxrajn)
{
ofstream output("out.txt",ios::out);
for(int i = 0; i < ln; i++)
{
SetConsoleCP(1251);
output<<setw(3)<< i+1<<" - "<<setw(6)<< team[i].name<<" "<<setw(3)<<team[i].points<<maxvictory<<maxgoals<<maxrajn<<endl;
SetConsoleCP(cp);
}
output.close();
}

int max_victory (int ln,int max1,int a)
{ max1=team[0].victory;
for(int i = 0; i < ln; i++)
{
if(team[i].victory>max1)
{ max1=team[i].victory;
a=i;
}

}
for(int i = 0; i < ln; i++)
{
if(max1 == team[i].victory)
{
cout<<"Максимальное кличество побед у команды "<<team[i].name<<" "<<team[i].victory<<endl;
}
}
return max1;
}
int max_goals(int ln,int max2,int b)
{ max2=team[0].goals;
for(int i = 0; i < ln; i++)
{
if(team[i].goals>max2)
{ max2=team[i].goals;
b=i;
}
}
for(int i = 0; i < ln; i++)
{
if(max2 == team[i].goals)
{
cout<<"Наибольшее количество забитых мячей "<<team[i].name<<" "<<team[i].goals<<endl;
}
}
return max2;
}
int max_rajn(int ln,int max3,int c)
{ max3=team[0].goals-team[0].missed;
for(int i = 0; i < ln; i++)
{
if(team[i].goals-team[i].missed>max3)
{ max3=team[i].goals-team[i].missed;
c=i;
}
}
for(int i = 0; i < ln; i++)
{
if(max3 ==team[i].goals-team[i].missed)
{
cout<<"Наибольшая разность между забитыми и пропущенными мячами "<<team[c].name<<" "<<team[c].goals-team
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
62
63
64
65
66
67
68
69
70
.missed<<endl; 
   }
   }
return max3;
}
    
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"");
    int cp = GetConsoleCP();
    int number;
    cout<<"Введите количество команд: ";
    cin>>number;
    team = new t [number];
    int max1=0;int max2=0;int max3=0;
    int a=0,b=0,c=0;int maxvictor,maxgoals,maxrajn;
    for(int i = 0; i < number; i++)
    {
tchk:   system("CLS");
        cout<<"Ввод данных для "<<i+1<<" команды:"<<endl;
        cout<<"Суммарное количество игр равно: "<<number-1<<endl;
        cout<<"Введите название команды: ";
        SetConsoleCP(1251);
        cin>>team[i].name;
        SetConsoleCP(cp);
        cout<<endl;
        cout<<"Введите количество побед: ";
        SetConsoleCP(1251);
        cin>>team[i].victory;
        SetConsoleCP(cp);
        cout<<endl;
        cout<<"Введите количество ничей: ";
        SetConsoleCP(1251);
        cin>>team[i].draw;
        SetConsoleCP(cp);
        cout<<endl;
        cout<<"Введите количество поражений: ";
        SetConsoleCP(1251);
        cin>>team[i].lose;
        SetConsoleCP(cp);
        cout<<endl;
        cout<<"Введите количество забитых голов: ";
        SetConsoleCP(1251);
        cin>>team[i].goals;
        SetConsoleCP(cp);
        cout<<endl;
        cout<<"Введите пропущенных голов: ";
        SetConsoleCP(1251);
        cin>>team[i].missed;
        SetConsoleCP(cp);
        cout<<endl;
        if((team[i].victory + team[i].draw + team[i].lose) != (number-1)) 
        {
            cout<<"Количество игр, введено неверно!"<<endl;
            system("pause");
            goto tchk;
        }
        team[i].points = team[i].victory*2 + team[i].draw;
    }
sort(number);
out(number);
fileout(number,maxvictory,maxgoals,maxrajn);
int maxvictory=max_victory(number,max1,a);
int maxgoals=max_goals(number,max2,b);
int maxrajn=max_rajn(number,max3,c);
cout<<endl;
system("pause");
    return 0;
 
}
0
13.05.2011, 13:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.05.2011, 13:33
Помогаю со студенческими работами здесь

программа обработки сведений
Помогите составить программу обработки сведений о студентах.сведения представляются в виде таблицы....

Программа обработки массива символов
Составить программу обработки массива символов с помощью указателей, которая вводит текст из...

Программа обработки текстового файла
Помогите написать программу на Си! Дано: Текстовый файл inString.txt содержит список (столбец)...

Программа обработки данных об учениках
Описать, используя тип структура, данные на учеников (фамилия, улица, дом, квартира). Составить...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru