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

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

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

Вычисление суммы элементов строк n-мерного массива - C++

18.11.2012, 15:03. Просмотров 462. Ответов 1
Метки нет (Все метки)

Здравствуйте, есть программа вычисляющая сумму элементов строк n-мерного массива и выполняющая поиск максимальной суммы какой либо строки. Нужно изменить программу так, чтобы программный код, выполняющий действия пунктов меню выполнялся в отдельных функциях.
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
#include "stdafx.h"
 
#include "stdio.h"
#include "conio.h"
#include <iostream>
#include <clocale>
#include <memory.h>
#include <time.h>
 
#pragma warning( disable : 4996 )
#pragma warning( disable : 4244 )
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    setlocale(LC_ALL, "rus");
    
    srand(time(NULL));
    
    int *a = 0;
    int height = 0;
    int width = 0; 
    int j = 0;
    int i = 0;
 
    printf("Количество предметов и учеников: \n");
    scanf("%d %d", &width, &height);
 
    a = new int[width*height] ();
 
    for (int i = 0; i < height; i = i + 1)
    {
        for (int j = 0; j < width; j = j + 1)
        {
        a[i*width + j]=rand() % 6 ; 3;
        }
    }
    
    for (int i = 0; i < height; i = i + 1)
    {
        for (int j = 0; j < width; j = j + 1)
        {
            printf("%d ", a[i*width + j]);
        }
        printf("\n");
    }
 
    printf("Сумма всех оценок:\n");
    int maxSum = 0;
    int maxStudent = 0;
    for (int i = 0; i < height; i = i + 1)
    {
        int sum = 0;
        for (int j = 0; j < width; j = j + 1)
        {
            sum = sum + a[i*width + j];
        }
 
        if (sum > maxSum)
        {
            maxSum = sum;
            maxStudent = i;
        }
        printf("%d\n", sum);
    }
 
    printf("Лучший студент %d, сумма баллов = %d\n", maxStudent + 1, maxSum);
    
 
    delete [] a;
    getchar();
    getchar();
 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2012, 15:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычисление суммы элементов строк n-мерного массива (C++):

Ввод элементов массива с клавиатуры, вычисление суммы по формуле, нахождение максимальной суммы - C++
Помогите дополнить код. Нужно, чтоб элементы массива вводились с клавиатуры. Выводилось на экран все суммы, которые вычисляются по формуле,...

Постороить из 2 мерного массива в 1 мерный, который содержит все элементы 2 мерного массива , содержащихся по периметру массива - C++
Постороить из 2 мерного массива в 1 мерный, который содержит все элементы 2 мерного массива , содержащихся по периметру массива.

Вычисление значений функции адресации для k-мерного массива - C++
Написать процедуру вычисления значений функции адресации для k-мерного массива, где каждый из k индексов изменяется в пределах от 0 до n.

Вычисление суммы элементов массива - C++
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1. Сумму элементов массива с нечетными номерами. 2. Сумму...

Вычисление суммы элементов массива - C++
Уважаемые дяденьки IT-шники помогите пожалуйста. Желательно с комментариями к коду, заранее огромное спасибо. 1.Написать функцию...

Вычисление суммы модулей элементов массива - C++
Добрый день. Написала программу: предлагает ввести двумерный массив, находит номер первой из строк, содержащих положительный элемент. ...

1
Busko
0 / 0 / 0
Регистрация: 18.11.2012
Сообщений: 3
18.11.2012, 17:38 #2
как-то так
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
#include "stdio.h"
#include "conio.h"
#include <iostream>
#include <locale.h>
#include <time.h>
 int func_sum(int *arr_a, int h,int w);
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
     srand(time(NULL));  
 
    int *a = 0;
    int height = 0;
    int width = 0; 
    int j = 0;
    int i = 0;
 
    printf("Количество предметов и учеников: \n");
    scanf("%d %d", &width, &height);
 
    a = new int[width*height] ();
 
    for (int i = 0; i < height; i = i + 1)
    {
        for (int j = 0; j < width; j = j + 1)
        {
        a[i*width + j]=rand() % 6 ; 3;
        }
    }
    
   func_sum(a,height,width);
 
    _getch();
    
    delete [] a;
   
    return 0;
}
 
 
int func_sum(int *arr_a, int h,int w)
    {
        for (int i = 0; i < h; i = i + 1)
                         {
                          for (int j = 0; j < w; j = j + 1)
                             {
                               printf("%d ", arr_a[i*w + j]);
                             }
                          printf("\n");
                          }
  printf("Сумма всех оценок:\n");
    int maxSum = 0;
    int maxStudent = 0;
    for (int i = 0; i < h; i = i + 1)
    {
        int sum = 0;
        for (int j = 0; j < w; j = j + 1)
        {
            sum = sum + arr_a[i*w + j];
        }
 
        if (sum > maxSum)
        {
            maxSum = sum;
            maxStudent = i;
        }
        printf("%d\n", sum);
    }
 
    printf("Лучший студент %d, сумма баллов = %d\n", maxStudent + 1, maxSum);
    
    return 0;
    }
и еще. если генерируются одинаковые числа у нескольких учеников, выбирается только один, что в принципе, вроде как, ошибка.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2012, 17:38
Привет! Вот еще темы с ответами:

Вычисление суммы элементов массива по столбцам - C++
Почему на этой строке scanf(&quot;%i&quot;,&amp;a); программа зависает ? //Вычисление суммы элементов массива по столбцам #include &quot;stdafx.h&quot; ...

В чем ошибки (вычисление суммы элементов массива)? - C++
программа оформлена в виде функций, она вычисляет сумму элементов массива, расположенных после первого положительного элемента. ...

Выделить динамическую память для 2-х мерного массива из N-строк - C++
Помогите с задачей Задание: &quot;Выделить динамическую память для 2-х мерного массива из N-строк след.вида:&quot;

Вычисление суммы и определение номеров положительных элементов массива - C++
Задан массив целых чисел из 10 элементов.Программа вычисляет сумму положит. элементов И выводит номера положит. элементов....


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

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

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