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

Двумерный массив (Вычислить вектор D, компоненты которого равны сумме элементов строк матрицы). Пожалуйста переделайте готовую программу - C++

Восстановить пароль Регистрация
 
Andrej Rizhow
0 / 0 / 0
Регистрация: 26.10.2012
Сообщений: 17
17.02.2013, 18:08     Двумерный массив (Вычислить вектор D, компоненты которого равны сумме элементов строк матрицы). Пожалуйста переделайте готовую программу #1
Здравствуйте!) помогите пожалуйста с такой проблемой. Лабораторную послезавтра сдавать, а я тему пропустил, очень надо((( Задание следующее - Дана матрица М (45). Вычислить вектор D, компоненты которого равны сумме элементов строк матрицы.. Также есть текст этой программы. Вот он:

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 <iostream.h>
#include <conio.h>
void main()
{
clrscr();
const m=4, n=5;
double i, j, wektor[4],summa_strok,a[m][n];
cout<<"Введите матрицу (4*5)\n";
for (i=0; i<=3; i++)
{
for (j=0; j<=4; j++)
cin>>a[i][j];
}
for (i=0;i<=3;i++)
{
cout<<"\n";
for (j=0;j<=4;j++)
{
cout<<a[i][j];
summa_strok+=a[i][j];
}
wektor[i]=summa_strok;
summa_strok=0;
}
for(i=0;i<=3; i++)
cout<<" "<<wektor[i];
}
 
В общем эту лабораторную нужно выполнить с использованием функций. С функциями inparr и outarr я разобрался, а вот с функциями processar и main проблемы. Помогите пожалуйста сделать эту часть. Желательно вот по такому примеру:
 
#include <iostream.h>
 
const int m=4, n=5;
 
void inparr(int a[m][n])
{
int i,j;
for (i=0;i<m;i++)
for (j=0;j<n;j++)
cin>>a[i][j];
}
 
void outarr (int a[m][n])
{
int i,j;
cout<<"Matrica:\n";
for (i=0; i<m; i++)
{
for (j=0; j<n; j++)
cout<<a[i][j])<<’ ‘;
cout<<"\n";
}
}
 
int processarr(int a[m][n])
{
int i,j,s,max;
for(i=0;i<m;i++)
{
s=0;
for (j=0;j<n;j++)
s+=a[i][j];
if (i==0) max=s;
else if (max<s) max=s;
}
return max;
}
 
void main()
{
int b[m][n];
inparr(b);
outarr(b);
cout<<"Maximalnaya summa stroki = << processarr(b);
}
Заранее благодарен. Спасибо)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2013, 18:08     Двумерный массив (Вычислить вектор D, компоненты которого равны сумме элементов строк матрицы). Пожалуйста переделайте готовую программу
Посмотрите здесь:

C++ Вычислить вектор D, компоненты которого равны сумме столбцов матрицы M
Двумерный массив. Сформировать вектор из наименьших значений элементов строк и найти их среднее арифметическое C++
Двумерный массив. Определить количество строк массива, все элементы которых равны 0 C++
C++ Одномерный массив, элементами которого являются суммы положительных элементов строк матрицы
Задана прямоугольная матрица А. Построить вектор В, элементы которого равны разностям наибольших и наименьших значений элементов строк C++
Вычислить вектор, компоненты которого равны сумме элементов строк заданной матрицы C++
C++ Одномерный массив, элементы которого равны количеству отрицательных элементов в строках матрицы
Сформировать массив, каждый элемент которого является суммой отрицательных элементов строк матрицы C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
17.02.2013, 19:34     Двумерный массив (Вычислить вектор D, компоненты которого равны сумме элементов строк матрицы). Пожалуйста переделайте готовую программу #2
а под вектором подразумевается использование vector?

Добавлено через 24 минуты
Andrej Rizhow, думаю что скорее это должен быть одномерный массив, тогда вот:

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
// up.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <locale>
using namespace std;
 
const int col = 3, stb = 3;
 
void inparr(int matr[col][stb])
{
    wcout << L"Введите матрицу:\n";
    for(int i = 0; i < col; i++)
        for(int j = 0; j < stb; j++)
        {
            wcout << L"Введите элемент матрицы [" << i << "][" << j << "]: ";
                cin >> matr[i][j];
        }
}
 
void outarr (int matr[col][stb])
{
    wcout << L"\Введенная матрица:\n";
    for(int i = 0; i < col; i++)
    {
        cout << "\n\t";
        for(int j = 0; j < stb; j++)
            cout << setw(3) << left << matr[i][j] << " ";
    }
}
 
int *processarr(int matr[col][stb])
{
    static int vector[col];
    for(int i = 0; i < col; i++)
    {
        for(int j = 0; j < stb; j++)
            vector[i] += matr[i][j];
    }
 
    return vector;
}
 
void main()
{
    wcout.imbue(locale(".866"));        //для корректного отображения кириллицы
    int mas[col][stb], *vec_tor;
 
    inparr(mas);
    outarr(mas);
    vec_tor = processarr(mas);
 
    wcout << L"\n\nВектор значений: ";
    for(int i = 0; i < col; i++)
        cout << vec_tor[i] << " ";
 
    cout << "\n\n";
}
Yandex
Объявления
17.02.2013, 19:34     Двумерный массив (Вычислить вектор D, компоненты которого равны сумме элементов строк матрицы). Пожалуйста переделайте готовую программу
Ответ Создать тему
Опции темы

Текущее время: 06:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru