Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 13.06.2019
Сообщений: 6

Двумерный массив

13.07.2019, 21:20. Показов 1533. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Народ помогите советом!Решал задачу по массивам, напоролся на такую проблему что значение в массиве не сохраняется. Вот код.
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
#include <iostream>
#include <iomanip>
using namespace std;
 
int main()
{
    const int mat = 2;
 
    int ourmat[mat][mat] = {};
    int rowSum[mat] = {};
    int colSum[mat] = {};
 
    cout << "Zapolnite matricu " << mat<< " "  << "x" << " " << mat << " " << "4islami postro4no. \n";
    for (int rowNum = 0; rowNum < mat; rowNum++)
    {
        for (int colNum = 0; colNum < mat; colNum++)
        {
            cout << rowNum + 1 << " -aja stroka" << " ";
            cout << colNum + 1 << " -oj stolbec" << " ";
            cin >> ourmat[mat][mat];
        }
        cout << endl;
    }
 
    for (int rowNum = 0; rowNum < mat; rowNum++)
    {
        cout << " | ";
        for (int colNum = 0; colNum < mat; colNum++)
        {
            cout << setw(4) << ourmat[rowNum][colNum] << "  ";
            rowSum[rowNum] += ourmat[rowNum][colNum];
            colSum[rowNum] += ourmat[colNum][rowNum];
        }
            cout << " | " << endl;
        }
    
 
    cout << "\nSumma po strokam!\n";
    for (int i = 0; i < mat; i++)
    {
        cout << i + 1 << "-aja stroka: " << rowSum[i] << endl;
    }
    cout << "\nSumma po stolbcam!\n";
    for (int i = 0; i < mat; i++)
    {
        cout << i + 1 << "-j stolbec: " << colSum[i] << endl;
    }
 
 
    return 0;
}
На выводе и сумме нули. Не пойму почему.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.07.2019, 21:20
Ответы с готовыми решениями:

Сделайте, чтобы двумерный вектор обогнал двумерный массив при заполнении случайными числами
Всем привет! Попробовал сравнить время заполнения векторов в векторе и массивов в массиве (динамические) случайными числами, получаемыми...

Как можно вложить двумерный массив в двумерный?
Нужно написать программу перемножения двух матриц размерностью МxМ, элементы которых, матрицы размерностью КxК... Подскажите (желательно с...

Массив: Как скопировать двумерный массив в другой массив?
Как скопировать двумерный массив в другой массив?

4
2 / 2 / 0
Регистрация: 19.06.2019
Сообщений: 9
13.07.2019, 22:49
Ошибка в строчке №20. Так всё работает:
C++
1
cin >> ourmat[rowNum][colNum];
1
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
13.07.2019, 23:10
Скифенский, кроме того, что сказано выше, добавлю что дополнительные массивы (rowSum[mat] и colSum[mat]), если по условию задачи не сказано из создать, не нужны. напишите условие задачи.
1
0 / 0 / 0
Регистрация: 13.06.2019
Сообщений: 6
13.07.2019, 23:58  [ТС]
Условие задачи: Объявить двумерный массив и заполнить его построчно с клавиатуры. После заполнения – показать заполненную матрицу на экран и посчитать сумму элементов отдельно в каждом столбце и каждой строке.

Добавлено через 3 минуты
спасибо за ответ! а можешь если не затруднит объяснить почему так должно быть а то я не впорне понимаю
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
14.07.2019, 00:17
Цитата Сообщение от Скифенский Посмотреть сообщение
почему так должно быть
просто нет смысла в создании дополнительных массивов. кроме того если размер массива не задан, а вводится с клавиатуры, используйте динамический массив.
можете в предложенный вариант добавить вывод массива на экран (хотя массив и так виден при вводе)
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
#include <iostream>
using namespace std;
 
int main()
{
    int n, m;
    cout << "n="; cin >> n;
    cout << "m="; cin >> m;
    
      double **a = new double*[n], sum; 
    for (int i = 0; i < n; i++)
       a[i] = new double[m];
    
    cout << "Enter " << n*m << " elements:\n";
    for (int i = 0; i < n; i++)
    for (int j = 0; j < m; j++)
      cin >> a[i][j];
 
    for (int i = 0; i < n; i++)
    {
    sum=0.0;    
    for (int j = 0; j < m; j++)
    sum+=a[i][j];
    cout << "row" << i+1 << ": sum=" << sum << "\n";
    }
    
    for (int j = 0; j < m; j++)
    {
    sum=0.0;    
    for (int i = 0; i < n; i++)
    sum+=a[i][j];
    cout << "col" << j+1 << ": sum=" << sum << "\n";
    }
    
    for (int i = 0; i < n; i++)
    delete [] a[i];
    delete [] a;
system("pause");
return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.07.2019, 00:17
Помогаю со студенческими работами здесь

Массив: преобразорвать двумерный массив в одномерный и отсортировать его методом пузырька
всем привет. народ помогите с прогой, конкретно с функцией sort (65 строка), она должна двухмерный массив перевести построчно в одномерный...

Массив: Случайным образом заполнить двумерный массив размерностью 3х4 цифрами от -20 до 10
Помогите пожалуйста с задачей Написать программу, которая случайным образом заполняет двумерный массив размерностью 3х4 цифрами от -20...

Чем отличаются двумерный символьный массив и массив указателей на строки
Двумерный символьный массив и массив указателей на строки. Собственно чем они отличаются? Заранее спасибо.

Массив: Как можно задать и вывести симметричный двумерный массив?
как можно задать и вывести симметричный массив

Дан двумерный массив 3х3. Получить одномерный массив из из отрицательных элементов матрицы.
Пожалуйста, помогите решить простым методом задачку, просто не могу понять смысл ее выполнения. Дан двумерный массив 3х3.Получить...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru