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

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

Войти
Регистрация
Восстановить пароль
 
ferdas
0 / 0 / 0
Регистрация: 24.02.2014
Сообщений: 41
#1

Задача на двумерные массивы - C++

17.03.2014, 19:33. Просмотров 206. Ответов 3
Метки нет (Все метки)

Найти среднее арифметическое положительных элементов каждого столбца
Есть почти готовое решение, но, оно только правильное когда элементы столбцов больше 0 (>0)
C++ (Qt)
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
#include <iostream>
#include <stdio.h>
#include <conio.h>
using namespace std;
 
    int **a, m, n;
    int sum;
    void Input_A();
    void Serednye_A();
 
 
 
int main()
{
    setlocale (LC_ALL, "Russian");
 
    Input_A();
    Serednye_A();
 
getch();
return 0;
}
 
 
void Input_A() {
 
    
    cout << "ÂâåäiГІГј ГЄiëüêiГ±ГІГј ñòîâáöiГў m= ";
    cin >> m;
    cout << "ÂâåäiГІГј ГЄiëüêiГ±ГІГј Г«iГ*iéîê n= ";
    cin >> n;
    int sum = 0;
    a = new int*[m];
    for(int i=0; i<m; i++) {
        a[i] = new int [n];
    }
    for (int i = 0; i<m; i++){
        for (int j = 0; j < n; j++) {
            cout << "a[" << i << "][" << j << "]: ";
            cin >> *(*(a+i)+j);
        }
    }
}
 
void Serednye_A() {
    for (int i = 0; i<m; i++){
        sum = 0;
        for (int j = 0; j < n; j++) {
            if (a[i][j] > 0)
                sum += *(*(a+i)+j);
        }
        cout << "ÑåðåäГ*Вє Г*ðèôìåòè÷Г*ГҐ " << i+1 <<"-ГЈГ® ñòîâáöÿ= "<< sum / n<< endl;
        
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2014, 19:33     Задача на двумерные массивы
Посмотрите здесь:

C++ Довольно Трудная задача(Двумерные массивы)
двумерные массивы C++
Двумерные массивы. C++
Задача на двумерные массивы... C++
Двумерные массивы.Задача на формирование массивов C++
C++ двумерные массивы(задача)
Задача по теме Двумерные массивы C++
Задача на двумерные массивы C++
C++ Задача на двумерные массивы (найти ошибку)
с++ двумерные массивы C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fishec
 Аватар для fishec
118 / 118 / 30
Регистрация: 07.09.2013
Сообщений: 338
17.03.2014, 19:40     Задача на двумерные массивы #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
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <conio.h>
using namespace std;
 
int **a, m, n;
int sum;
void Input_A();
void Serednye_A();
 
 
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    Input_A();
    Serednye_A();
 
    _getch();
    return 0;
}
 
 
void Input_A() {
 
 
    cout << "Введiть кiлькiсть стовбцiв m= ";
    cin >> m;
    cout << "Введiть кiлькiсть лiнiйок n= ";
    cin >> n;
    int sum = 0;
    a = new int*[m];
    for (int i = 0; i<m; i++) {
        a[i] = new int[n];
    }
    for (int i = 0; i<m; i++){
        for (int j = 0; j < n; j++) {
            cout << "a[" << i << "][" << j << "]: ";
            cin >> *(*(a + i) + j);
        }
    }
}
 
void Serednye_A() {
    for (int i = 0; i<m; i++){
        sum = 0;
        int count = 0;
        for (int j = 0; j < n; j++) {
            if (a[i][j] > 0){
                sum += *(*(a + i) + j);
                count++;
            }
        }
        if (count > 0) 
            cout << "Середнє арифметичне " << i + 1 << "-го стовбця= " << sum / double(count) << endl;
        else cout <<"В "<< i + 1 << "-ом столбце нет положительных элементов " << endl;
 
    }
}
recoder
 Аватар для recoder
130 / 130 / 28
Регистрация: 13.09.2013
Сообщений: 260
Записей в блоге: 2
17.03.2014, 19:40     Задача на двумерные массивы #3
Найти среднее арифметическое положительных элементов каждого столбца.
Есть почти готовое решение, но, оно только правильное когда элементы столбцов больше 0.
Меньше 0, вроде не положительные.
fishec
 Аватар для fishec
118 / 118 / 30
Регистрация: 07.09.2013
Сообщений: 338
17.03.2014, 19:49     Задача на двумерные массивы #4
recoder, когда все элементы матрицы положительные, решение правильное. А когда хотя бы 1 отрицательный, то уже не верно.

Добавлено через 1 минуту
Цитата Сообщение от ferdas Посмотреть сообщение
int **a, m, n; int sum;
Можно обойтись без глобальных переменных:
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
#include <iostream>
#include <stdio.h>
#include <conio.h>
 
using namespace std;
void Input_A(int**&,int,int);
void Serednye_A(int**,int,int);
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int **a, m, n;
    cout << "Введiть кiлькiсть стовбцiв m= ";
    cin >> m;
    cout << "Введiть кiлькiсть лiнiйок n= ";
    cin >> n;
    Input_A(a,m,n);
    Serednye_A(a,m,n);
 
    _getch();
    return 0;
}
 
 
void Input_A(int**& a,int m, int n) {
    int sum = 0;
    a = new int*[m];
    for (int i = 0; i<m; i++) {
        a[i] = new int[n];
    }
    for (int i = 0; i<m; i++){
        for (int j = 0; j < n; j++) {
            cout << "a[" << i << "][" << j << "]: ";
            cin >> a[i][j];
        }
    }
}
 
void Serednye_A(int **a,int m,int n) {
    for (int i = 0; i<m; i++){
        int sum = 0;
        int count = 0;
        for (int j = 0; j < n; j++) {
            if (a[i][j] > 0){
                sum += a[i][j];
                count++;
            }
        }
        if (count > 0) 
            cout << "Середнє арифметичне " << i + 1 << "-го стовбця= " << sum / double(count) << endl;
        else cout <<"В "<< i + 1 << "-ом столбце нет положительных элеметов " << endl;
 
    }
}
Добавлено через 37 секунд
Цитата Сообщение от ferdas Посмотреть сообщение
*(*(a+i)+j)
Это можно заменить на a[i][j]
Yandex
Объявления
17.03.2014, 19:49     Задача на двумерные массивы
Ответ Создать тему
Опции темы

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