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

В прямоугольной матрице заменить элементы каждого столбца на сумму элементов этого столбца

08.07.2015, 10:01. Показов 1315. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Решить задачу: в прямоугольной матрице заменить элементы каждого столбца на сумму элементов этого столбца.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.07.2015, 10:01
Ответы с готовыми решениями:

Заменить элементы каждого столбца на сумму элементов этого столбца
Составить подпрограмму для решения следующей задачи дано натуральное N и квадратная матрица...

В прямоугольной матрице найти сумму и количество элементов каждого столбца с заданным условием
В прямоугольной матрице ,размерностью n*m . заполненной случайным образом числами из промежутка...

Дан массив a(n,m).Разделить элементы каждого столбца на среднее арифмитическое положительных элементов этого столбца
Дан массив a(n,m).Разделить элементы каждого столбца на среднее арифмитическое положительных...

Для каждого столбца матрицы с чётным номером вычислить сумму квадратов элементов этого столбца
. Создать матрицу 4х4. Для каждого столбца с четным номером вычислить сумму квадратов элементов...

6
12 / 15 / 7
Регистрация: 24.09.2014
Сообщений: 116
08.07.2015, 15:26 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
#include <iostream>
using namespace std;
#include <cstdlib>
#include <ctime>
 
int main()
{
    int i, j, strk, stlb, sum_stlb = 0;
    cout << "Кол-во строк: ";
    cin >> strk;
    cout << "Кол-во столбцов: ";
    cin >> stlb;
    int mass[strk][stlb], tmp_mass[strk][stlb];
    srand((unsigned)time(NULL));
    cout << "Исходный массив:\n";
    for(i = 0; i < strk; i++)
        for(j = 0; j < stlb; j++){
            mass[i][j] = rand()%10;
            tmp_mass[i][j] = mass[i][j];
            cout << mass[i][j] << (j == (stlb - 1) ? "\n" : " ");
        }
    for(j = 0; j < stlb; j++){
        sum_stlb = 0;
        for(i = 0; i < strk; i++){
           sum_stlb += tmp_mass[i][j];
        }
        for(i = 0; i < strk; i++){
           mass[i][j] = sum_stlb;
        }
    }
    cout << "Массив после замены:\n";
    for(i = 0; i < strk; i++)
        for(j = 0; j < stlb; j++){
            cout << mass[i][j] << (j == (stlb - 1) ? "\n" : " ");
        }
    return 0;
}
0
0 / 0 / 0
Регистрация: 30.06.2015
Сообщений: 51
09.07.2015, 09:59  [ТС] 3
Что мне с этим делать?
Миниатюры
В прямоугольной матрице заменить элементы каждого столбца на сумму элементов этого столбца  
0
12 / 15 / 7
Регистрация: 24.09.2014
Сообщений: 116
09.07.2015, 10:23 4
Я компилировал на gcc, всё работает:
Миниатюры
В прямоугольной матрице заменить элементы каждого столбца на сумму элементов этого столбца  
0
0 / 0 / 0
Регистрация: 30.06.2015
Сообщений: 51
09.07.2015, 10:38  [ТС] 5
А у меня на Visual Studio 2010 не работает Может там поменять что нужно?
0
12 / 15 / 7
Регистрация: 24.09.2014
Сообщений: 116
09.07.2015, 12:35 6
Погуглил - дело в том, что MVS 2010 не поддерживает стандарт языка С99, начиная с которого введены массивы переменной длины. Короче, надо под массив выделять память динамически:
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
#include <iostream>
using namespace std;
#include <cstdlib>
#include <ctime>
 
int main()
{
    int i, j, strk, stlb, sum_stlb = 0;
    cout << "Кол-во строк: ";
    cin >> strk;
    cout << "Кол-во столбцов: ";
    cin >> stlb;
    int **mass = new int*[strk];
    int **tmp_mass = new int*[strk];
    for(i = 0; i < strk; i++){
        mass[i] = new int[stlb];
        tmp_mass[i] = new int[stlb];
    }
    srand((unsigned)time(NULL));
    cout << "Исходный массив:\n";
    for(i = 0; i < strk; i++)
        for(j = 0; j < stlb; j++){
            mass[i][j] = rand()%10;
            tmp_mass[i][j] = mass[i][j];
            cout << mass[i][j] << (j == (stlb - 1) ? "\n" : " ");
        }
    for(j = 0; j < stlb; j++){
        sum_stlb = 0;
        for(i = 0; i < strk; i++){
           sum_stlb += tmp_mass[i][j];
        }
        for(i = 0; i < strk; i++){
           mass[i][j] = sum_stlb;
        }
    }
    cout << "Массив после замены:\n";
    for(i = 0; i < strk; i++)
        for(j = 0; j < stlb; j++){
            cout << mass[i][j] << (j == (stlb - 1) ? "\n" : " ");
        }
    for(i = 0; i < strk; i++){
        delete []mass[i];
        delete []tmp_mass[i];
    }
    return 0;
}
0
840 / 498 / 325
Регистрация: 29.12.2009
Сообщений: 1,106
09.07.2015, 13:29 7
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
#include <iostream>
#include <iomanip>
using namespace std;
 
int main ()
{
    int const N = 4;
    int matrix[N][N] = 
    {
        {1,1,1,1},
        {2,2,2,2},
        {3,3,3,3},
        {1,2,3,4}
    };
    int sum[N] = {0};
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < N; j++)
        {
            sum[i]+=matrix[j][i];
            if (i > 0)
                matrix[j][i - 1] = sum[i - 1];
        }
    }
    cout.setf (ios::left);
    for (int i = 0; i < N; i++)
    {
        matrix[i][N - 1] = sum[N - 1];
        for (int j = 0; j < N; j++)
            cout << setw (3) << matrix[i][j];
        cout << endl;
    }
}
0
09.07.2015, 13:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.07.2015, 13:29
Помогаю со студенческими работами здесь

Определить столбец в матрице сумма элементов, которого максимальна. заменить элементы этого столбца на 0
Задать с клавиатуры матрицу размером 4х4 Определить столбец сумма элементов, которого максимальна....

В прямоугольной матрице все элементы столбца, содержащего максимальный элемент, заменить на 0
Задача: в прямоугольной матрице все элементы столбца, содержащего максимальный элемент, заменить на...

В прямоугольной матрице размером NxM вычислить произведения элементов каждого столбца
В прямоугольной матрице размером NxM вычислить произведения элементов каждого столбца. Поменять...

Первый элемент каждого четного столбца заменить суммой чисел этого столбца
Задана матрица A(n,n). Первый элемент каждого четного столбца заменить суммой чисел этого столбца,...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru