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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Работа с текстом (цвет) http://www.cyberforum.ru/cpp-beginners/thread283996.html
Всем привет! Подскажите пожалуйста как поменять цвет фона в консоли, чтобы вместо чорного экрана сделать что-то повеселее?
C++ 3 лабы есть такие задания помогите пожалуйста и если можно с коментраиями. Заранее благодарю. 1)Написать программу составления линейного упорядоченного списка слов по символьному файлу и рекурсивную функцию вывода списка в обратном порядке. 2)Написать программу, формирующую по исходному BMP файлу новый BMP файл,в котором правая половина является зеркальным отражением левой. 3)Написать программу,... http://www.cyberforum.ru/cpp-beginners/thread283986.html
C++ Разработать шаблон соответствующего класса!
Помогите написать программу!!! Пожалуйста!!!! Задание: Для каждого варианта необходимо разработать шаблон соответствующего класса, где поля могут иметь различные типы данных (некоторые поля могут быть статическими). Предусмотреть наличие в классе указанных методов и перегруженных операций. Название класса:Эллипс. Поля: Координаты,2 радиуса. Методы: Нарисовать, стереть, переместить. ...
C++ строки язык C
Дана строка, содержащая текст на русском языке. Подсчитать количество слов, начинающихся и заканчивающихся на одну и ту же букву.
C++ 3D графика в форме http://www.cyberforum.ru/cpp-beginners/thread283971.html
Требуется написать в форме 3D ландшафт.Не знаю с чего начать...мб кто что посоветует так как координаты ландшафта представляют собой матрицу с набором в каждом значении матрицы координат высоты х и у.Так что посоветуйте с чего начать или какие компоненты использовать пишу в MS VS2010
C++ простая программа на си,но не для меня. Буду учить си ,однако сейчас нахожусь на недопрофессиональном уровне. Прошу помочь написать программу как можно проще-если не ошибаюсь цикл for здесь нужен Найти наибольшее и наименьшее значения функции y= (sin(x + 0.25))/x + 5 при изменении X от 0,1 до А с шагом H. Вывести результат на экран. подробнее

Показать сообщение отдельно
yuliyayuliya28
3 / 3 / 0
Регистрация: 06.03.2011
Сообщений: 319
13.05.2011, 13:33  [ТС]     Программа обработки итоговой таблицы
Помогите сделать правильно функцию нахождения команд одержавший большее количество побед
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;
 
}
 
Текущее время: 16:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru