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

Многомерный массив - C++

Восстановить пароль Регистрация
 
Count
0 / 0 / 0
Регистрация: 06.11.2011
Сообщений: 24
22.02.2012, 12:54     Многомерный массив #1
Имеется вот такое задание: Создать программу, которая реализует журнал с оценками в виде двумерного массива (студенты - строки, оценки за контрольные - столбцы). Предположить, что в группе 9 студентов и 8 контрольных. Заполнить журнал случайными оценками от 4 до 12, показать его на экран. Найти лучшего студента, худшего студента (сумма всех оценок максимальна, минимальна). Средние оценки по каждой контрольной занести в отдельный одномерный массив.

Вот что уже имеется:
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
 
#define WORD_LEN 32
#define ARRAY_SIZE 9
 
int main(void)
{
    const char *words_set[] = {"Olololev", "Krivorukov", "Malodumav", "Prigskokov", "Ditinov", "Sobaka","Granovsky","Dyatlov","Rukalico"};
    char words_array[WORD_LEN + 1][ARRAY_SIZE] = {{0}};
 
    size_t i;
 
    srand((size_t) time(NULL));
    printf("Array of %u random word(s): \n", ARRAY_SIZE);
    
    for(i = 0; i < ARRAY_SIZE; ++i)
    {
        strncpy(words_array[i],
                words_set[rand() % (sizeof(words_set) / sizeof(*words_set))], WORD_LEN);
        puts(words_array[i]);
    }
    
    exit(0);
    {
        int v=0;
    const int row = 6;
    int arr[row];
    for(int q=0 ; q < row ; q++ )
            {
            arr[i]=rand()%11-5;//rand()%(max-min+1)+min
            cout<<arr[i]<<"\t";
            if( arr [i]==0)
            v++;    
        }
        cout<<"\n";
    }
    cout<<v;
}
 Комментарий модератора 
Используйте теги форматирования кода!

Подскажите пожалуйста с "написанием" уже того что имеется, и как реализовать вторую часть с нахождением лучшего, худшего студента.

Добавлено через 14 часов 2 минуты
И все таки?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.02.2012, 12:54     Многомерный массив
Посмотрите здесь:

Многомерный массив, Си!!! C++
многомерный массив C++
C++ Многомерный массив
C++ многомерный массив
Многомерный массив C++
Многомерный массив C++
C++ многомерный массив
Многомерный массив. С++ C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
(SkyNet)
 Аватар для (SkyNet)
22 / 40 / 6
Регистрация: 25.10.2011
Сообщений: 175
22.02.2012, 21:14     Многомерный массив #2
ето лутче делать через структуру или клас, ничево сложново не вижу ну наверное п осреднем арифметическом можно нати лучшево и худшево студента

Добавлено через 1 час 40 минут
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
// Best_student.cpp: главный файл проекта.
#include "StdAfx.h"
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#define N 9
 
using namespace System;
using namespace std;
 
 
int main(array<System::String ^> ^args)
{
    
    const char *words_set[] = {"Olololev", "Krivorukov", "Malodumav", "Prigskokov", "Ditinov", "Sobaka","Granovsky","Dyatlov","Rukalico"};
    int zhur[N][N];
    int i, j;
    int min = 0, max = 0, sum = 0, sum_max = 0, sum_min = 8 * 12;
 
    for(i = 0; i < N; i++)
    {
        zhur[i][0] = i + 1;
 
        for(j = 0; j < N; j++)
        {
            if(j + 1 != N)
            zhur[i][j + 1] = rand()% 9 + 4;
        }
    }
 
    cout << endl << " NAME\t     N   I  II III  IV   V  VI VII VIII" << endl << endl;
 
    for(i = 0; i < N; i++)
    {
        printf("%10s", words_set[i]);
        for(j = 0; j < N; j++)
        {
            printf("%4d", zhur[i][j]);
        }
        cout << endl;
    }
 
    int max_i = 0 , min_i;
 
 
    for(i = 0; i < N; i++)
    {
 
        for(j = 0; j < N; j++)
        {
            if(j + 1 != N)
              sum += zhur[i][j + 1];
        }
 
            if(sum_max < sum)
            {
                sum_max = sum;
                max_i = i;
            }
 
            if(sum_min > sum)
            {
                sum_min = sum;
                min_i = i;
            }
 
            sum = 0;
    }
 
    cout << endl << "Max: " << sum_max << " v " << words_set[max_i] << endl;
    cout << endl << "Min: " << sum_min << " v " << words_set[min_i] << endl;
 
    float average[N];
    float av = 0;
    for(i = 0; i < N; i++)
    {
        av = 0;
        for(j = 0; j < N; j++)
        {
            if(j + 1 != N)
              av += zhur[i][j + 1];
        }
 
        average[i] = av / (N -1);  
    }
 
    cout << endl << "\tAverage marks: " << endl; 
 
    for(i = 0; i < N; i++)
    {
        printf("%10s - %3.2f\n", words_set[i], average[i]);
    }
 
    getch();
    return 0;
}
Целый час писал!!!!
Yandex
Объявления
22.02.2012, 21:14     Многомерный массив
Ответ Создать тему
Опции темы

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