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

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

Войти
Регистрация
Восстановить пароль
 
shukaka
4 / 4 / 2
Регистрация: 09.03.2014
Сообщений: 187
#1

Суммировать элементы столбца матрицы - C++

03.04.2014, 01:33. Просмотров 351. Ответов 6
Метки нет (Все метки)

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
#include <iostream>;
 
#include<locale>
using namespace std;
int mas1[255] [255],m,n,mas2[255],k,i,j,mas3[255],mas4[255],q,mas5[255],h;
int main() {
    setlocale(LC_ALL,"Rus");
    cin>>m;
    cout<<endl;
    cin>>n;
    cout<<endl;
    for(int i=0;i<m;i++)
    {
        for(int j=0;j<n;j++)
        {
 
            cin>>mas1[i][j];//ввод матрицы
        }
    }
    cout<<endl;
    
        for(int i=0;i<m;i++)
    {
        for(int j=0;j<n;j++)
        {
            cout<<mas1[i][j]<<" ";
        }
        cout << endl;
    }
        //////////////////////////////////
    for(int j=0;j<100;j++)                   //создание матриц размером 2*1 и их матричное произведение
    {
        mas2[j]=0;
 
        for(int i=0;i<100;i++)
        {
            if(mas1[i][j])
            
            mas2[j]=mas2[j]+ mas1[i][j];
            
 
                
 
        }
    }
    
        
    
    for(int j=0;j<20;j++)
        cout<<mas2[j]<<".";
    cout<<endl;
    
        for(int j=0;j<n;j++)
        {
        mas3[k]=mas1[0][j];
            k++;
        }
    
    for(int k=0;k!=n;k++)
        cout<<mas3[k]<<".";
    cout<<endl;
    for(int j=0;j<n;j++)
        {
        mas4[q]=mas1[1][j];
            q++;
        }
    cout<<endl;
    for(int q=0;q!=n;q++)
        cout<<mas4[q]<<".";
    cout<<endl;
    
    for(int k=0;k<n;k++)
    {
        for(int q=0;q<n-1-k;q++)
        {
            
            mas5[h]=mas3[k]+mas4[q+1+k];
            h++;
        }
    }
    for(int h=0;h!=20;h++)
        cout<<mas5[h]<<".";
    system ("pause");
    return 0;
}
суть программы: ввожу матрицу размером доаусти 2*7(количество строк всегда будет 2 по заданию)
матрица 45 44 38 35 12 -4 -6
53 51 19 8 0 0 0
Потом программа сначала сумирует елементы столбцов....затем я каждую строку записываю в массив отдельный.....и начинаю сумировать каждый елемент одного массив с елементами другого массива....
мне нужна помощь в том ,что программа должна ничего не делать если есть дествие с нулем тоесть программа должна работать если елемент не равен нулю. Куда вставить это условие??????????
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.04.2014, 01:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Суммировать элементы столбца матрицы (C++):

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

Суммировать наибольшие элементы столбцов матрицы - C++
Помогите решить задачу : Дана матрица А(nxn). Получить x1xn+x2xn-1+…+xnx1, где xk – наибольшее значение элементов k-го столбца данной...

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

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

Элементы матрицы умножить на скаляр C=5,2. Элементы третьего столбца заменить единицами - C++
Не могу понять как вычислить матрицу, подскажите пожалуйста=) Данная матрица А (4,5), элементы умножить на скаляр C = 5,2. Элементы...

Перемножить попарно элементы строки, в которой расположен максимум матрицы, на элементы столбца - C++
В данной матрице найти наибольший элемент и перемножить попарно элементы строки , в которой он расположен , на элемент столбца в котором он...

6
shukaka
4 / 4 / 2
Регистрация: 09.03.2014
Сообщений: 187
03.04.2014, 03:06  [ТС] #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
#include <iostream>;
 
#include<locale>
using namespace std;
int mas1[255] [255],m,n,mas2[255],k,i,j,mas3[255],mas4[255],q,mas5[255],h,mas6[255],z;
int main() {
    setlocale(LC_ALL,"Rus");
    cin>>m;
    cout<<endl;
    cin>>n;
    cout<<endl;
    for(int i=0;i<m;i++)
    {
        for(int j=0;j<n;j++)
        {
 
            cin>>mas1[i][j];//ввод матрицы
        }
    }
    cout<<endl;
    
        for(int i=0;i<m;i++)
    {
        for(int j=0;j<n;j++)
        {
            cout<<mas1[i][j]<<" ";
        }
        cout << endl;
    }
        //////////////////////////////////
    for(int j=0;j<100;j++)                   //создание матриц размером 2*1 и их матричное произведение
    {
        mas2[j]=0;
        
        for(int i=0;i<100;i++)
        {
            
            if(mas1[i][j]!=0)
            
            mas2[j]=mas2[j]+ mas1[i][j];
            
            else if (mas1[i][j]=0)
                                           mas2[j]=0;
            
        }
        
        
    
    }
    
        
    
    for(int j=0;j<n;j++)
                 cout<<mas2[j]<<".";
    cout<<endl;
что здесь не верно в else???
суть проги такая что прибавляет елементы столбиков если елементы не равны 0
0
Blueeyer
12 / 12 / 1
Регистрация: 09.10.2013
Сообщений: 222
03.04.2014, 03:14 #3
вообще как-то всё у тебя очень запутанно написано...
если хочешь, чтобы действие выполнялось только тогда, когда какой-либо элемент не равен нулю, то необходимо условие:

C++
1
2
3
4
5
if (mass[i][j] != 0){
оператор 1;
оператор 2;
...
}
0
Blueeyer
12 / 12 / 1
Регистрация: 09.10.2013
Сообщений: 222
03.04.2014, 03:22 #4
C++
1
2
else if (mass1[i][j] == 0)
    mass2[j] = 0;
надо ставить два знака равно (оператор сравнивания - равенство), у тебя же происходит присваивание
а вообще, ты можешь написать попроще:
C++
1
2
else
    mass2[j] = 0;
поскольку в первом условии у тебя происходит работа со всем, что не равно нулю, а в противном случае только нуль и остается
0
shukaka
4 / 4 / 2
Регистрация: 09.03.2014
Сообщений: 187
03.04.2014, 03:29  [ТС] #5
все равно не то....выводит все нули(
0
Blueeyer
12 / 12 / 1
Регистрация: 09.10.2013
Сообщений: 222
03.04.2014, 03:37 #6
значит ошибка где-то в другом месте, скорее всего ты что-то напутал в цикле с переменными i, j, либо что-то в этом роде
0
S_el
2112 / 1632 / 308
Регистрация: 15.12.2013
Сообщений: 6,572
03.04.2014, 08:28 #7
shukaka, приведите пример правильной работы программы.
0
03.04.2014, 08:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.04.2014, 08:28
Привет! Вот еще темы с ответами:

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

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

Вывести элементы K-го столбца данной матрицы - C++
Дана матрица размера MxN и целое число K (1&lt;или= K &lt;или=N). Вывести элементы K-го столбца данной матрицы

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


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

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

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