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

сумма элементов матрицы по схеме - C++

Восстановить пароль Регистрация
 
Oriana
Сообщений: n/a
06.04.2011, 20:14     сумма элементов матрицы по схеме #1
Помогите пожалуйста. в программировании совсем новичок..Нужно написать программу, которая считает сумму элементов квадратной матрицы размером n x n, расположенных по схеме. в файле рисунок 2 схем, по каким нужно суммировать элементы.
Вложения
Тип файла: doc mass1.doc (34.5 Кб, 24 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2011, 20:14     сумма элементов матрицы по схеме
Посмотрите здесь:

Выполнить сортировку элементов в той строке матрицы сумма элементов в которой максимальная C++
C++ Для заданной матрицы размера NхN найти такие k и n, что сумма элементов k- столбца матрицы совпадает с суммой элементов n- го строки
C++ сумма элементов матрицы
C++ Для матрицы найти такие k и n, что сумма элементов k-столбца совпадает с суммой элементов n-й строки
Удалить из матрицы A все строки, сумма элементов которых четна, а из матрицы B – строки, сумма элементов которых нечетна(функции) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
07.04.2011, 02:18     сумма элементов матрицы по схеме #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
#include <iostream>
#include <conio.h>
#include <iomanip>
using namespace std;
 
int main()
{
    int matrica[7][7], n=0, sum1=0, sum2=0;
    for (int i=0; i<7; i++)
       {
             for (int j=0; j<7; j++, n++)
             {
                 matrica[i][j] = n;
                 cout<<setw(3)<<n;
                 if ((i==0) || (j==6) || (i==j))
                     sum1 += matrica[i][j];
                 if ((i==0) || (i==3) || (i==6) || (j==3) || (j==6))
                     sum2 +=matrica[i][j];
             }
             cout<<endl;
       }
    cout<<"Sum1= "<<sum1<<endl<<"Sum2= "<<sum2;
    getch();
    return 0;
}
vitaska
 Аватар для vitaska
83 / 83 / 2
Регистрация: 04.02.2010
Сообщений: 162
07.04.2011, 02:45     сумма элементов матрицы по схеме #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
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 <cstdlib>
#include <ctime>
#include <iomanip>
 
using namespace std;
 
void printMatr(int ** matr, int matrSize )  //вывод матрицы на экран
{
    for ( int i = 0; i < matrSize; i++ ){
        for ( int j = 0; j < matrSize; j++ )
            cout << setw( 4 ) << matr[ i ][ j ];
        cout << endl;
    }
}
 
int ** createMatrix ( int matrSize ) // создание матрицы в динамической памяти
{
    int ** matr = new int *[ matrSize ];
    for ( int i = 0; i < matrSize; i++ )
        matr[ i ] = new int [ matrSize ];
    return matr;
}
 
int sumOne( int ** matr, int matrSize )
{
    int sum = 0, pos = 1;
 
    for ( int i = 0; i < matrSize; i++ ) { 
        if ( i == 0 ) {
            for ( int j = 0; j < matrSize; j++ )
                sum += matr[ i ][ j ];
        }
        else if ( i == matrSize - 1 ) 
                sum += matr[ i ][ i ];
        else {
            sum = sum + matr[ i ][ pos ] + matr[ i ][ matrSize - 1 ];
            pos++;
        }
    } 
 
    return sum;
}
 
int sumTwo( int ** matr, int matrSize )
{
    int sum = 0;
 
    for ( int i = 0; i < matrSize; i++ ) { 
        if ( i == 0 || i == ( matrSize / 2 ) || i == ( matrSize - 1 ) ) {
            for ( int j = 0; j < matrSize; j++ )
                sum += matr[ i ][ j ];
        }
        else
            sum = sum + matr[ i ][ matrSize / 2 ] + matr[ i ][ matrSize - 1 ];
    } 
 
    return sum;
}
 
int main()
{
    srand( ( unsigned ) time ( NULL ) );
    int mSize, sOne = 0, sTwo = 0;
    cout << "Input size of matrix: ";
    cin >> mSize;
    int ** matrix = createMatrix( mSize );
 
    for ( int i = 0; i < mSize; i++ )
        for ( int j = 0; j < mSize; j++ )
            matrix[ i ][ j ] = rand() % 3; //заполнение матрицы случайными числами
 
    printMatr( matrix, mSize );
 
    sOne = sumOne( matrix, mSize );
    sTwo = sumTwo( matrix, mSize );
 
    cout << "Sum of matrix elements by scheme one is - " << sOne << endl;
    cout << "Sum of matrix elements by scheme two is - " << sTwo << endl;
    for ( int i = 0; i < mSize; i++ )
        delete [] matrix[ i ];  
    delete [] matrix;
 
    return 0;
}
Oriana
Сообщений: n/a
09.04.2011, 00:46     сумма элементов матрицы по схеме #4
Большое спасибо за помощь! немного преобразовала для ввода данных с клавиатуры, но теперь разобралась и с другими схемами
Yandex
Объявления
09.04.2011, 00:46     сумма элементов матрицы по схеме
Ответ Создать тему
Опции темы

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