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

Вычислить в функции сумму модулей элементов выше главной диагонали матрицы - C++

Восстановить пароль Регистрация
 
Жанбота
2 / 2 / 0
Регистрация: 25.10.2011
Сообщений: 50
30.05.2012, 15:26     Вычислить в функции сумму модулей элементов выше главной диагонали матрицы #1
Вычислить в функции сумму модулей элементов выше главной диагонали матрицы. В головной программе вычислить указанные суммы для трех матриц и найти их среднее аифметическое.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2012, 15:26     Вычислить в функции сумму модулей элементов выше главной диагонали матрицы
Посмотрите здесь:

C++ Вычислить сумму элементов , pасположенных на главной диагонали и выше ее.
Вычислить сумму элементов , pасположенных на главной диагонали и выше ее C++
C++ Найти сумму модулей элементов, расположенных выше главной диагонали
Найти сумму модулей элементов матрицы, находящихся выше главной диагонали C++
C++ Вычислить сумму элементов выше главной диагонали матрицы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Luzifer
 Аватар для Luzifer
6 / 6 / 2
Регистрация: 28.06.2010
Сообщений: 85
30.05.2012, 16:51     Вычислить в функции сумму модулей элементов выше главной диагонали матрицы #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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include <stdio.h>
#include <stdlib.h>
#include "iostream"
 
using namespace std;
 
int func(int *a, int n, int m);
 
int main(void)
{
    setlocale(LC_ALL, "Russian");
 
    int n,m;
 
    int summ1 = 0;
    int summ2 = 0;
    int summ3 = 0;
 
    cout << "Кол-во строк:";
    cin >> n;
    cout << "Кол-во столбцов:";
    cin >> m;
 
    int *array_1 = (int*)calloc(n*m, sizeof(int));
    int *array_2 = (int*)calloc(n*m, sizeof(int));
    int *array_3 = (int*)calloc(n*m, sizeof(int));
 
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < m; j++)
        {
            array_1[i * n + j] = rand()%100;
            array_2[i * n + j] = rand()%100;
            array_3[i * n + j] = rand()%100;
        }
    }
 
    summ1 = func(array_1, n, m); 
    summ2 = func(array_2, n, m);
    summ3 = func(array_3, n, m);
 
    cout << summ1 << " " << summ2 << " " << summ3 << endl;
    cout << (summ1 + summ2 + summ3)/3;
    return 0;
}
 
int func(int *a, int n, int m)
{
    int count = 0;
    int summ = 0;
    bool flags = false;
    int tmp = 0;
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < m; j++)
        {
            if(i == j)
            {
                flags = true;
            }
 
            if(flags == true)
            {
                if(count >= 1)
                {
                    tmp = a[i * n + j];
                    summ += abs(tmp);
                }
                count++;
            }
        }
        count = 0;
        flags = false;
    }
    return summ;
}
Жанбота
2 / 2 / 0
Регистрация: 25.10.2011
Сообщений: 50
30.05.2012, 16:58  [ТС]     Вычислить в функции сумму модулей элементов выше главной диагонали матрицы #3
Большое спасибо!!!! но мы по другому решаем, можешь примерно вот так

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
// Используя перегрузку функций, написать
// программу вычисления суммы элементов
// массива разных типов
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
float func1 (float a)
{
    return a;
}
float func2 (float b)
{
    return b;
}
void main()
 
{int a; int b;
 float S;
 printf ("a,b vvedite\n");
 scanf ("%d%d", &a,&b);
 S=func2(b)+func1(a);
 printf ("symmy=%d\n", S);
 _getch();
}
Luzifer
 Аватар для Luzifer
6 / 6 / 2
Регистрация: 28.06.2010
Сообщений: 85
30.05.2012, 17:01     Вычислить в функции сумму модулей элементов выше главной диагонали матрицы #4
Цитата Сообщение от Жанбота Посмотреть сообщение
но мы по другому решаем, можешь примерно вот так
Под Си что ли переписать?

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 <stdio.h>
#include <stdlib.h>
#include "iostream"
 
int func(int *a, int n, int m);
 
int main(void)
{
    setlocale(LC_ALL, "Russian");
 
    int n,m;
 
    int summ1 = 0;
    int summ2 = 0;
    int summ3 = 0;
 
    printf("Кол-во строк:");
    scanf("%d", &n);
    printf("Кол-во столбцов:");
    scanf("%d", &m);
 
    int *array_1 = (int*)calloc(n*m, sizeof(int));
    int *array_2 = (int*)calloc(n*m, sizeof(int));
    int *array_3 = (int*)calloc(n*m, sizeof(int));
 
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < m; j++)
        {
            array_1[i * n + j] = rand()%100;
            array_2[i * n + j] = rand()%100;
            array_3[i * n + j] = rand()%100;
        }
    }
 
    summ1 = func(array_1, n, m); 
    summ2 = func(array_2, n, m);
    summ3 = func(array_3, n, m);
 
    printf("Сумма 1 = %d Сумма 2 = %d Сумма 3 = %d\n", summ1,summ2,summ3);
 
    printf("Среднее: %d\n",(summ1 + summ2 + summ3)/3);
    return 0;
}
 
int func(int *a, int n, int m)
{
    int count = 0;
    int summ = 0;
    bool flags = false;
    int tmp = 0;
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < m; j++)
        {
            if(i == j)
            {
                flags = true;
            }
 
            if(flags == true)
            {
                if(count >= 1)
                {
                    tmp = a[i * n + j];
                    summ += abs(tmp);
                }
                count++;
            }
        }
        count = 0;
        flags = false;
    }
    return summ;
}
Yandex
Объявления
30.05.2012, 17:01     Вычислить в функции сумму модулей элементов выше главной диагонали матрицы
Ответ Создать тему
Опции темы

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