4 / 4 / 4
Регистрация: 03.01.2015
Сообщений: 449
1

Определить квадратную матрицу, каждый элемент которой равен сумме элементов соответствующей строки

12.03.2015, 19:28. Показов 1587. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!

Пожалуйста, помогите с программой. В функции Input Вводится массив с клавиатуры, а затем выводится на экран. Во второй функции MasX нужно определить массив Х из 5 элементов,
каждый из которых равен сумме элементов соответствующей
строки, если они все либо положительны либо отрицательны, и
нулю в противном случае.
В результате работы функции MasX на экран ничего не выводится. Пожалуйста, помогите
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
#include <stdio.h>
#include <math.h>
#include <iostream>
using namespace std;
int Input()
{
    setlocale(LC_CTYPE, "");
    int count = 0, sum = 0;
    int **A;
    int N = 5, M = 5;
    A = new int*[N];
    for (int i = 0; i<N; i++) A[i] = new int[M];
    printf("Введите 25 элементов массива\n");
    for (int i = 0; i < N; ++i) {
        for (int j = 0; j < M; ++j) {
            cin >> A[i][j];
        }
    }
    cout << endl;
    for (int i = 0; i < N; i++){
        for (int j = 0; j < M; j++) {
            cout << " " << A[i][j];
            count = count + 1;
            if (count >= 5) {
                cout << endl;
                count = 0;
            }
        }
    }
    system("pause");
    return 0;
}
int MasX(int **A, int N, int M)
{
    int **X;
    int K = 5, i, count = 0;
    X = new int*[K];
    for (int g = 0; g < K; g++){
     for (int i = 0; i < N; i++) {
      for (int j = 0; j < M; j++) {
          if (A[i][j] >= 0 && A[i][j] <= 0)
          {
            count = count + A[i][j];
        }
          else
          {
              break;
          }
        if (j >= 5) {
            X[g] = X[g] + count;
        }
        else{
            X[g] = 0;
        }
    }
}
    }
    for (int g = 0; g < K; g++){
        cout << " " << X[g];
    }
    system("pause");
    return 0;
}
int main(int **A, int N, int M)
{
    Input();
    MasX(A, N, M);
    system("pause");
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.03.2015, 19:28
Ответы с готовыми решениями:

Получить квадратную матрицу, элемент которой равен сумме элементов данной матрицы, расположенных в области
Дана квадратная марица действительных числе размерности n(n&lt;=15). Получить квадратную матрицу,...

Получить из матрицы новый массив, каждый элемент которого равен сумме элементов соответствующей строки
Дана матрица А(n x m). Создать функцию, в которой получить из матрицы новый массив, каждый элемент...

Сформировать массив так, что каждый i-й элемент массива равен сумме элементов соответствующей строки заданной матрицы
Ступор. Примерно понимаю, что нужно сначала элементы строки 0 из массива B поместить в массив А,...

Сформировать вектор, каждый элемент которого равен сумме элементов соответствующей строки двумерного массива
Сформировать одномерный массив, каждый элемент которого равен сумме элементов соответствующей...

3
Модератор
Эксперт С++
13636 / 10857 / 6452
Регистрация: 18.12.2011
Сообщений: 28,938
12.03.2015, 19:48 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
void MasX(int **A, int N, int M)
{
    int* X = new int[N];
    for (int i = 0; i < N; i++) 
    {
        X[i]=0;
        int sum=0;
        bool Negative=true;
        bool Positive=true;
        for (int j = 0; j < M; j++) 
        {
                sum += A[i][j];
                if (A[i][j] >= 0)
                    Negative=false;
                else if( A[i][j] <= 0)
                    Positive=false;
        }
        if (Positive || Negative)
            X[i]=sum;
    }
    for (int i = 0; i < N; i++) 
        cout << " " << X[i];
    delete[] X;
}
1
4 / 4 / 4
Регистрация: 03.01.2015
Сообщений: 449
12.03.2015, 20:44  [ТС] 3
Вот, исправила. Но всё равно не работает. Доходит до функции MasX и выходит окно на скриншоте
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 <stdio.h>
#include <stdio.h>
#include <math.h>
#include <iostream>
using namespace std;
int Input()
{
    setlocale(LC_CTYPE, "");
    int count = 0, sum = 0;
    int **A;
    int N = 5, M = 5;
    A = new int*[N];
    for (int i = 0; i<N; i++) A[i] = new int[M];
    printf("Введите 25 элементов массива\n");
    for (int i = 0; i < N; ++i) {
        for (int j = 0; j < M; ++j) {
            cin >> A[i][j];
        }
    }
    cout << endl;
    for (int i = 0; i < N; i++){
        for (int j = 0; j < M; j++) {
            cout << " " << A[i][j];
            count = count + 1;
            if (count >= 5) {
                cout << endl;
                count = 0;
            }
        }
    }
    system("pause");
    return 0;
}
int MasX(int **A, int N, int M)
{
    int* X = new int[N];
    for (int i = 0; i < N; i++)
    {
        X[i] = 0;
        int sum = 0;
        bool Flag1 = true;
        bool Flag2 = true;
        for (int j = 0; j < M; j++)
        {
            sum += A[i][j];
            if (A[i][j] >= 0){
                Flag1 = false;
            }
            else {
                if (A[i][j] <= 0)
                    Flag2 = false;
            }
        }
        if (Flag1 || Flag2)
            X[i] = sum;
    }
    for (int i = 0; i < N; i++)
        cout << " " << X[i];
    system("pause");
    return 0;
}
int main(int **A, int N, int M)
{
    Input();
    MasX(A, N, M);
    system("pause");
}
Миниатюры
Определить квадратную матрицу, каждый элемент которой равен сумме элементов соответствующей строки  
0
Модератор
Эксперт С++
13636 / 10857 / 6452
Регистрация: 18.12.2011
Сообщений: 28,938
12.03.2015, 20:52 4
Переделайте программу в соответствии с
Вот этим образцом.
0
12.03.2015, 20:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.03.2015, 20:52
Помогаю со студенческими работами здесь

Сформируйте одномерный массив, каждый элемент которого равен сумме элементов соответствующей строки исходной матрицы.
Есть свободная минутка? попробуйте составить программку: Сформируйте одномерный массив, каждый...

Сформировать одномерный массив, каждый элемент которого равен сумме нечетных элементов соответствующей строки двумерного
Сформировать одномерный массив, каждый элемент которого равен сумме нечетных элементов...

Массив: Вывести матрицу, у которой каждый элемент равен сумме элементов матрицы на заданных позициях...
Всем еще раз добрый день. Есть задача: Напишите программу, на вход которой подаётся...

Вывести матрицу того же размера, у которой каждый элемент в позиции i, j равен сумме элементов первой матрицы
Напишите программу, на вход которой подаётся прямоугольная матрица в виде последовательности строк,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru