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

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

Войти
Регистрация
Восстановить пароль
 
nnina
2 / 2 / 0
Регистрация: 12.11.2011
Сообщений: 69
#1

Записать из файла в двумерный массив информацию об оценках каждого из N студентов группы по заданному предмету - C++

29.02.2012, 10:35. Просмотров 451. Ответов 0
Метки нет (Все метки)

Помогите, пожалуйста, найти ошибки.

Нужно записать из файла в двумерный массив информацию об оценках каждого из N студентов группы по тому или иному предмету (в первой строке – информация об оценках первого студента, во второй – второго и т. д.). Общее число предметов равно K. Сформировать список оценок студентов, которые по всем K предметам учатся на 4 и 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
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
#include <iostream>
#include <fstream>
using namespace std; 
 
void print(int **a, int nrow, int ncol, long *sum);
void print2(int **a, int nrow, int ncol, long *sum);
void sort(int **a, int nrow, int ncol, long *sum);
 
int main(void)
{   int nrow, ncol;
    int i,j; int **a;
    ifstream f; 
    f.open("abc5.txt"); 
    if (f) 
      { cout << "Read file ! \n";
        f >> nrow; f >> ncol;
        a = new int *[nrow];
        for(i = 0;i < nrow;i++)
            a[i]= new int [ncol];
        for(i = 0;i < nrow;i++)
          for(j = 0;j < ncol;j++)
             f >> a[i][j];
        cout << "\n"; 
        f.close();
 
 
       long *sum = new long [nrow];long *h=new long[nrow];
       for (i = 0;i < nrow;i++)
        { sum[i] = 0;
          for (j = 0;j < ncol; j++)
            {
               sum[i] += a[i][j];
                h[i] =sum[i]/ncol;
            }
        }
 
 
       cout<<"\n Исходные баллы учеников\n";
       print(a, nrow, ncol, h); 
       cout << "\n";
 
        sort(a, nrow, ncol, h);
 
 
       cout << "\n Баллы учеников,";
       cout << "\n упорядоченные по cр. баллу\n";
 
       print2(a, nrow, ncol, h);
       cout << "\n";
     } 
       else cout << "File not found \n";
        
}
 
void print(int **a, int nrow, int ncol, long *h)
{ for (int i = 0;i < nrow; i++)
      { for (int j = 0;j < ncol; j++)
             cout << " " << a[i][j]<< " ";
             cout << "| " << h[i] << "\n"; 
      }
}
void print2(int **a, int nrow, int ncol, long *h)
{ for (int i = 0;i < nrow; i++)
      { for (int j = 0;j < ncol; j++)
            
            if (a[i][j] >=4)
              cout << " " << a[i][j]<< " ";
              cout << "\n";
            
      }
}
 
void sort(int **a, int nrow, int ncol, long *h)
{ long buf_h;
   int nmin, buf_a;
   for(int i = 0;i < nrow-1; i++)
    { nmin = i;
      for(int j = i+1;j < nrow; j++)
         if (h[j] < h[nmin]) 
             nmin = j;
      buf_h = h[i];
      h[i] = h[nmin]; h[nmin] = buf_h;
      for(int j = 0;j < ncol;j++)
       { buf_a = a[i][j];
         a[i][j] = a[nmin][j];
         a[nmin][j] = buf_a;
      system ("pause");
        
        }
      } 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.02.2012, 10:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Записать из файла в двумерный массив информацию об оценках каждого из N студентов группы по заданному предмету (C++):

Вывести из файла фамилии студентов и оценки по заданному предмету - C++
Дан файл,который содержит фамилии и оценки студентов по трем предметам.Составить программу,которая выводит фамилии студентов и оценки по...

Обработать информацию об оценках студентов - C++
Привет всем )) Нужна помощь Задача (язык С ++). Составить программу, которая запрашивает фамилии 10 студентов и их оценки по 10...

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

Записать информацию из файла в двумерный массив - C#
Есть двумерный массив целых чисел. int mas = new int; в каждый элемент данного массива нужно записать число из файла файл: 1 2...

Двумерный массив - список студентов группы - PHP
Люди добрые выручайте , задания дали на заочном а PHP только начал изучать, работы щас море нет времени вникнуть , подскажите как сделать! ...

Определите средний балл студентов группы по каждому предмету - C (СИ)
Здравствуйте. Прошу помочь решить задачу с использованием указателей. Дана матрица А, имеющая 30 строк и 10 столбцов, содержащая...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.02.2012, 10:35
Привет! Вот еще темы с ответами:

Определите средний балл студентов группы по каждому предмету - Turbo Pascal
Помогите пожалуйста написать программу с помощью процедуры или функции!!! Дана матрица А, имеющая 30 строк и 10 столбцов, содержащая...

Подсчитать сколько студентов группы получили по предмету оценку отлично - MS Excel
выполнила все задания а вот с последним ни как. Подскажите что делаю не так лист анализ. А вот условие подсчитать сколько студентов группы...

Написать процедуру поиска/распечатки студентов, успевающих по заданному предмету - C (СИ)
Представить данные о студентах института в виде массива записей со структурой. Студент Ф.И.О Кол-во предметов (&lt;=N) Предмет1 ...

Разработать программу, позволяющую вводить список студентов группы и их оценки по одному из предмету! - C#
Помогите пожалуйста, надо разработать программу в Приложении Windows Forms, позволяющую вводить список студентов группы и их оценки по...


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

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

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