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

Структуры(совсем немного переделать) - C++

Восстановить пароль Регистрация
 
D@vS
0 / 0 / 0
Регистрация: 09.09.2011
Сообщений: 32
15.12.2012, 15:33     Структуры(совсем немного переделать) #1
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
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
 
struct TStudent{
       char Name[30];
       int Balls;
       };
 
int main()
{
    int N;
    cout << "Vvedite kolichestvo ychenikov : " << endl;
      cin >> N;
      TStudent students[N];
      
    for(int  i = 0; i < N;i++)
      {
             cout << "Vvedite imia i familiu:" << endl;
             fflush(stdin);
             gets(students[i].Name);       
          
             cout << "Vvedite kolichestvo ballov:" << endl;
             fflush(stdin);
             cin >> students[i].Balls;
                     
             }
                            
        
    TStudent Temp;       
     for(int i=0; i<(N-1) ; i++)
    {
        for (int j=i+1; j<N; j++) 
        {
            if (students[i].Balls < students[j].Balls) 
            {
                Temp =students[i]; 
                students[i]=students[j];
                students[j]=Temp;
            }
        }
    }
           printf("\n");
           printf("\n");
           cout << "             Vse ychastniki:" << endl;
     for(int  i = 0; i < N;i++)
      {
          if ( students[i].Balls >= 0){
                     cout << i+1 << "   ";
                     cout << students[i].Name  << "  ";
                     
                     cout << students[i].Balls << "  ballov" << endl << endl; 
                  }                  
             }
             printf("\n");
             cout << "              Pobediteli:" << endl; 
      for(int  i = 0; i < N;i++)
        {
          if ( students[i].Balls >= 30){
                     cout << i+1 << "   ";
                     cout << students[i].Name  << "  ";
                     
                     cout << students[i].Balls << "  ballov" << endl << endl; 
                  }                  
             }       
    
     getch();        
    return 0;
}
в той части где где прога выводит Всех участников она это делает в зависимости от количества баллов
сделайте пожалуйста так чтобы она вывела их в порядке ввода,вне зависимости от количества баллов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Buildog
40 / 40 / 2
Регистрация: 29.04.2012
Сообщений: 185
15.12.2012, 16:42     Структуры(совсем немного переделать) #2
Ну у тебя ведь тут просто массив структур, в цикле обычным перебором всех элементов выводить каждого ученика

Добавлено через 1 минуту
C++
1
2
3
4
5
6
for(int  i = 0; i < N;i++)
        {
                     cout << students[i].Name  << "  ";
                     
                     cout << students[i].Balls << "  ballov" << endl << endl;               
             }
D@vS
0 / 0 / 0
Регистрация: 09.09.2011
Сообщений: 32
15.12.2012, 17:04  [ТС]     Структуры(совсем немного переделать) #3
всё равно выводит в зависимости от баллов(
Buildog
40 / 40 / 2
Регистрация: 29.04.2012
Сообщений: 185
15.12.2012, 18:59     Структуры(совсем немного переделать) #4
Ну так конечно будет выводить, потому что вот этот код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    TStudent Temp;       
     for(int i=0; i<(N-1) ; i++)
    {
        for (int j=i+1; j<N; j++) 
        {
            if (students[i].Balls < students[j].Balls) 
            {
                Temp =students[i]; 
                students[i]=students[j];
                students[j]=Temp;
            }
        }
    }
Сортирует ваш массив структур

Добавлено через 18 минут
Чтобы выводить вначале НЕ отсортированный массив, сделайте вывод до этой сортировки, или если вам вообще не надо сортировать, уберите этот код, вот и всего
Yandex
Объявления
15.12.2012, 18:59     Структуры(совсем немного переделать)
Ответ Создать тему
Опции темы

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