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

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

Войти
Регистрация
Восстановить пароль
 
Алина1234
0 / 0 / 0
Регистрация: 30.06.2015
Сообщений: 51
#1

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

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

Решить задачу: в прямоугольной матрице заменить элементы каждого столбца на сумму элементов этого столбца.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.07.2015, 10:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В прямоугольной матрице заменить элементы каждого столбца на сумму элементов этого столбца (C++):

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

Задана матрица A(n,n). Первый элемент каждого четного столбца заменить суммой простых чисел этого столбца, пер - C++
Надо решить такую задачу,помогите,а то не шарю що делать: Задана матрица A(n,n). Первый элемент каждого четного столбца заменить суммой...

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

Определить сумму элементов каждого столбца левой половины и сумму элементов каждого четного столбца правой половины матрицы A - C++
Матрица A (M кратно 4) разделена по вертикали на две половины. Определить сумму элементов каждого столбца левой половины и сумму элементов...

Сформировать B, элементы которого Bj равны 1, если хотя бы один элемент j-го столбца матрицы A больше суммы элементов этого столбца... - C++
Помогите написать задачу. "Сформировать одномерный массив B, элементы которого Bj равны 1, если хотя бы один элемент j-го столбца матрицы...

В матрице заменить каждый диагональный элемент на сумму всех других элементов столбца - C++
В двухмерную массиве заменить каждый диагональный элемент на сумму всех других элементов этого столбца.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Doddger
11 / 14 / 3
Регистрация: 24.09.2014
Сообщений: 93
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;
}
Алина1234
0 / 0 / 0
Регистрация: 30.06.2015
Сообщений: 51
09.07.2015, 09:59  [ТС] #3
Что мне с этим делать?
Миниатюры
В прямоугольной матрице заменить элементы каждого столбца на сумму элементов этого столбца  
Doddger
11 / 14 / 3
Регистрация: 24.09.2014
Сообщений: 93
09.07.2015, 10:23 #4
Я компилировал на gcc, всё работает:
Миниатюры
В прямоугольной матрице заменить элементы каждого столбца на сумму элементов этого столбца  
Алина1234
0 / 0 / 0
Регистрация: 30.06.2015
Сообщений: 51
09.07.2015, 10:38  [ТС] #5
А у меня на Visual Studio 2010 не работает Может там поменять что нужно?
Doddger
11 / 14 / 3
Регистрация: 24.09.2014
Сообщений: 93
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;
}
MicM
822 / 489 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
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;
    }
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.07.2015, 13:29
Привет! Вот еще темы с ответами:

Элементы каждого столбца прямоугольной матрицы упорядочить в порядке убывания. - C++
Добрый вечер.У меня задача на 2-х мерные массивы. Вот текст задачи: Элементы каждого столбца прямоугольной матрицы упорядочить в порядке...

Элементы каждого столбца прямоугольной матрицы упорядочить в порядке убывания - C++
Элементы каждого столбца прямоугольной матрицы упорядочить в порядке убывания Желательно на си. Помощи очень нуждаюсь!

Вывести сумму каждого столбца в матрице - C++
Здравствуйте. Просьбы написать программу на с которая выводит сумму каждого столбца в заданной матрице. Заранее благодарен!

Разделить элементы каждого столбца заданной матрицы на последний элемент столбца - C++
Разделить элементы каждого столбца заданной матрицы на последний элемент столбца.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
09.07.2015, 13:29
Ответ Создать тему
Опции темы

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