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

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

Войти
Регистрация
Восстановить пароль
 
DERBI
0 / 0 / 0
Регистрация: 13.12.2010
Сообщений: 7
#1

скажите что нет так - C++

13.12.2010, 07:11. Просмотров 331. Ответов 2
Метки нет (Все метки)

В двумерном массиве хранятся данные об оценках N студентов по М предметам. Номер строки соответствует номеру студента в группе, номер столбца – предмету. Опре-делить K самых успешных студентов. ЕСЛИ МОЖНО НАПИШИТЕ КАК НАДО.

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
#include "stdafx.h"
#include "stdlib.h"
#include "stdio.h"
#include "windows.h"
#include "locale.h"
 
 
int _tmain(int argc, _TCHAR* argv[])
{
        setlocale(LC_ALL,"Russian");  
    int **Mas = NULL,R = 0,i = 0, N = 0, SUM = 0,j = 0,m = 0,num = 0;
        float sr = 0;
        printf("Введите количество учеников: ");
        scanf("%d",&R);
        Mas=(int **) calloc(R,sizeof(int *));;
        printf("Сколько предметов: ");
        scanf("%d",&N);
        for (i=0;i<R;i++)
        {
     Mas[i] = (int *) calloc(N, sizeof(int));
        }
        for (i=0;i<R;i++)
        {
                for (j=0;j<N;j++)
              {
                     printf("Введите оценку %d ученика за %d предмет: ",i+1,j+1);
                     scanf("%d",&Mas[i][j]);
              }
        }
        
 
    getchar();
        return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2010, 07:11     скажите что нет так
Посмотрите здесь:

Почему так работает, а так нет? C++
Скажите, что не так делаю! C++
C++ скажите что значат %.2f, 4,8 что значат эти цифры и как оно выведет на экран
C++ Скажите какой нужно скачать Borland C++ что бы на нем графика
Правильно ли я понимаю ссылки и указатели. Работу с ними. Я сам прокомментировал код. Скажите правильно или нет. C++
C++ скажите что такое может быть?
Так, норм задачка, гляньте, скажите что да как C++
скажите пожалуйста что не так? C++
C++ Не работает код, скажите что не так)
C++ Скажите, что делает данный код?
Скажите пожалуйста, что это за тип данных?! C++
С++ задача, надо зациклить, скажите что не так, ошибку выдает в switch, про точку с запятой знаю их вроде не н C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4819 / 3239 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
13.12.2010, 09:06     скажите что нет так #2
дальше для каждой строки надо посчитать среднее значение (это складываешь и делишь на количество слагаемых)

все средние значения сохранить в дополнительный массив (нужные ещё номеры строк, для них тоже массив нужен, лучше сделать структуру { номер, среднее_значение } и потом массив структур таких)
отсортировать массив номеров и средних значений по средним значениям в убывающем порядке

потом взять с начала K номеров строк и вывести их

C
1
2
3
4
struct paver {
    int ind;
    double aver;
};
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    struct paver *students;
 
    students = (struct paver *) calloc(R, sizeof(struct paver));
    assert(students != NULL && "can't allocate");
 
    for (i = 0; i < R; i++) {
        double sum = 0.0;
        for (j = 0; j < N; j++)
            sum += Mas[i][j];
        students[i].ind = i;
        students[i].aver = sum / j;
    }
 
    /* здесь уже есть массив структур,
       заполненный номерами и средними значениями,
       его теперь можно сортировать */
можно всё сделать через массивы
Gambit1993
0 / 0 / 0
Регистрация: 30.11.2010
Сообщений: 3
22.12.2010, 17:42     скажите что нет так #3
Derbi 25 вариант? скайп есть надо связаться? gambit1993
Yandex
Объявления
22.12.2010, 17:42     скажите что нет так
Ответ Создать тему
Опции темы

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