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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 31, средняя оценка - 4.65
tron
0 / 0 / 0
Регистрация: 07.09.2009
Сообщений: 14
#1

Найти сумму, разность, произведение элементов матрицы - C++

07.09.2009, 07:33. Просмотров 3898. Ответов 20
Метки нет (Все метки)

найти сумму, разность, произведение элементов двумерного массива с применением процедур и функций.


помогите плиз!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.09.2009, 07:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти сумму, разность, произведение элементов матрицы (C++):

Найти произведение и сумму четных элементов массива, разность произведения и суммы - C++
Ввести массив А(N). Найти произведение и сумму четных элементов массива, разность произведения и суммы. Вывести все результаты.

Найти сумму нечетных элементов 3 столбца и произведение отрицательных кратных 3 элементов 2-ой строки матрицы - C++
Найти сумму нечетных элементов 3-го столбца и произведение отрицательных кратных 3 элементов 2-ой строки матрицы С(6;6) ...

Найти сумму элементов матрицы ниже главной диагонали, и произведение элементов выше нее - C++
Добрый день, помогите найти ошибку в коде, вот задание: В матрице размером n х n найти сумму элементов, лежащих ниже главной...

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

Дана матрица А (4,4) найти сумму нечетных элементов матрицы и произведение элементов находящихся на главной диагонали - C++
Дана матрица А (4,4) найти сумму нечетных элементов матрицы и произведение элементов находящихся на главной диагонали. Добавлено через...

Найти сумму и произведение элементов k-го столбца данной матрицы - C++
2) И второй вопрос. Необходимо решить задачу. Также для Borland 5.02. Условие задачи: Дано число k (0 < k < 11) и матрица размера 4 x...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
tron
0 / 0 / 0
Регистрация: 07.09.2009
Сообщений: 14
13.09.2009, 11:59  [ТС] #16
с разностью разобрались
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,608
13.09.2009, 18:08 #17
Цитата Сообщение от tron Посмотреть сообщение
как сделать чтобы выводились числа от 1 до 10, по этому коду выводятся в массив от 0 до 10
C++
1
mas[i][j]=random(9) + 1;
так не получится?
tron
0 / 0 / 0
Регистрация: 07.09.2009
Сообщений: 14
14.09.2009, 05:43  [ТС] #18
сделал так
C++
1
 mas[i][j]=rand()%9+1
tron
0 / 0 / 0
Регистрация: 07.09.2009
Сообщений: 14
15.09.2009, 15:20  [ТС] #19
Цитата Сообщение от M128K145 Посмотреть сообщение
tron, вот тебе
полный код
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
#include <iostream>
 
int Sum(int**, int, int);
int Razn(int**, int, int);
int Mult(int**, int, int);
void Print(int**, int, int);
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int n, m, i, j;
    std::cout<<"Введите количество строк:\n> ",std::cin>>n;
    std::cout<<"Введите количество столбцов:\n> ",std::cin>>m;
 
    int **mas = new int*[n];
    for(i = 0; i < n; ++i)
        mas[i] = new int[m];
 
    std::cout<<"Введите матрицу:\n";
    for(i = 0; i < n; ++i)
        for(j = 0; j < m; ++j)
            std::cin>>mas[i][j];
 
    Print(mas, n, m);
    std::cout<<"Сумма:\n< "<<Sum(mas, n, m)<<std::endl;
    std::cout<<"Разность:\n< "<<Razn(mas, n, m)<<std::endl;
    std::cout<<"Произведение:\n< "<<Mult(mas, n, m)<<std::endl;
 
    for(i = 0; i < n; ++i)
        delete []mas[i];
    delete []mas; 
    system("pause");
    return 0;
}
 
void Print(int** matr, int n, int m)
{
    int i, j;
    std::cout<<"Введенный массив:\n";
    for(i = 0; i < n; ++i, std::cout<<'\n')
        for(j = 0; j < m; ++j)
            std::cout<<matr[i][j]<<' ';
}
int Sum(int** matr, int n, int m)
{
    int sum(0), i, j;
    for(i = 0; i < n; ++i)
        for(j = 0; j < m; ++j)
            sum += matr[i][j];
    return sum;
}
int Razn(int** matr, int n, int m)
{
    int razn(2 * matr[0][0]), i, j;
    for(i = 0; i < n; ++i)
        for(j = 0; j < m; ++j)
            razn -= matr[i][j];
    return razn;
}
int Mult(int** matr, int n, int m)
{
    int mult(1), i, j;
    for(i = 0; i < n; ++i)
        for(j = 0; j < m; ++j)
            mult *= matr[i][j];
    return mult;
}
с функциями и процедурами. Sum, Razn, Mult - функции. Print - это процедура. Процедура - это функция, которая ничего не возвращает, т.е. void


проставь пожалуйста комменты, где что делаем и для чего
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
15.09.2009, 15:45 #20
Сообщение было отмечено автором темы, экспертом или модератором как ответ
вот
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
#include <iostream>
 
//описываем прототипы наших функций
int Sum(int**, int, int);
int Razn(int**, int, int);
int Mult(int**, int, int);
void Print(int**, int, int);
 
int main()
{
        setlocale(LC_ALL, "Russian");//делаем русскую локализацию
        int n, m, i, j;//обьявляем переменные размеров и индексов
        std::cout<<"Введите количество строк:\n> ",std::cin>>n;//ввод n
        std::cout<<"Введите количество столбцов:\n> ",std::cin>>m;//ввод m
 
        int **mas = new int*[n];//динамически выделяем массив указателей на n массивов
        for(i = 0; i < n; ++i)
                mas[i] = new int[m];//выделяем память под n новых 
                //массивов размерностью m
 
        //вводим матрицу
        std::cout<<"Введите матрицу:\n";
        for(i = 0; i < n; ++i)
                for(j = 0; j < m; ++j)
                        std::cin>>mas[i][j];
 
        Print(mas, n, m);//вызываем функцию(процедуру), которая выводит нашу матрицу, 
        //параметры - указатекь на матрицу, количество строк и столбцов
        std::cout<<"Сумма:\n< "<<Sum(mas, n, m)<<std::endl;
        //вывод суммы с вызовом функции Sum. параметры те же что и у Print
        std::cout<<"Разность:\n< "<<Razn(mas, n, m)<<std::endl;
        //вывод разности с вызовом функции Razn. параметры те же что и у Print
        std::cout<<"Произведение:\n< "<<Mult(mas, n, m)<<std::endl;
        //вывод произведения с вызовом функции Mult. параметры те же что и у Print
        for(i = 0; i < n; ++i)
                delete []mas[i];//сбрасываем всю память выделенную под наши массивы
        delete []mas; //сбрасываем память выделенную под массив указателей
        system("pause");//задержка экрана
        return 0;//возврат значения, что программа выполнена успешно
}
 
void Print(int** matr, int n, int m)
{
        int i, j;//обьявляем индексы
        std::cout<<"Введенный массив:\n";
        for(i = 0; i < n; ++i, std::cout<<'\n')
                for(j = 0; j < m; ++j)
                        std::cout<<matr[i][j]<<' ';//выводим матрицу поэлементно
}
int Sum(int** matr, int n, int m)
{
        int sum(0), i, j;//обьявляем индексы и задаем переменной, в которую будем
        //считать сумму, значение 0
        for(i = 0; i < n; ++i)
                for(j = 0; j < m; ++j)
                        sum += matr[i][j];//считаем сумму
        return sum;//возвращаем значение
}
int Razn(int** matr, int n, int m)
{
        int razn(2 * matr[0][0]), i, j;//обьявляем индексы и задаем переменной, 
        //в которую будем считать разницу, удвоенное значение первого элемента
        for(i = 0; i < n; ++i)
                for(j = 0; j < m; ++j)
                        razn -= matr[i][j];//считаем разницу
        return razn;//возвращаем ее значение
}
int Mult(int** matr, int n, int m)
{
        int mult(1), i, j;//обьявляем индексы и задаем переменной, в которую будем
        //считать произведение, значение 1
        for(i = 0; i < n; ++i)
                for(j = 0; j < m; ++j)
                        mult *= matr[i][j];//считаем произведение
        return mult;//возвращаем его значение
}
tron
0 / 0 / 0
Регистрация: 07.09.2009
Сообщений: 14
21.09.2009, 16:57  [ТС] #21
M128K145 помоги составить блок - схему к этой проге:

я начал, дальше не могу:
Миниатюры
Найти сумму, разность, произведение элементов матрицы   Найти сумму, разность, произведение элементов матрицы  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2009, 16:57
Привет! Вот еще темы с ответами:

Найти сумму и произведение элементов k-го столбца данной матрицы - C++
Дано число k (0 &lt; k &lt; 11) и матрица размера 4 x 10. Найти сумму и произведение элементов k-го столбца данной матрицы.

Найти сумму и произведение элементов k-го столбца данной матрицы - C++
Дано число k (0 &lt; k &lt; 11) и матрица размера 4 x 10. Найти сумму и произведение элементов k-го столбца данной матрицы. Спасибо...

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

Найти сумму и произведение элементов k-ого столбца матрицы - C++
Дана матрица m*n и целое число k (1&lt;=k&lt;=m) найти сумму и произведение элементов k-ого столбца данной матрицы


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

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

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