Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 20.01.2015
Сообщений: 11
1

Сформировать одномерный массив из элементов матрицы по условию

23.01.2015, 02:07. Показов 1023. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
помогите плз, решить задачу в программировании ноль
Дана матрица K(m,n).Сформировать одномерный массив L(m),элементами которого являются суммы элементов J-ого столбца, принадлежащие диапозону от a до б
Заранее благодарен!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.01.2015, 02:07
Ответы с готовыми решениями:

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

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

Сформировать одномерный массив из элементов исxодной матрицы, удовлетворяющиx условию
Доброго времени суток, форумчане! Нужна помошь чайнику :wall: Помогите решить несколько задач на...

Сформировать из прсоедовательности одномерный массив, состоящий из элементов, удовлетворяющих условию
Задана последовательность X = (x1, x2, …, x10). Сформировать из неё одномерный массив Y,...

3
58 / 51 / 38
Регистрация: 22.01.2015
Сообщений: 176
23.01.2015, 02:38 2
C++
1
2
3
4
5
6
int sum=0;
for(int j=0;j<m;j++)
for(int i=a;i<=b;i++)
{sum+=K[i][j];
L[j]=sum;
};
Получаешь заполненый массив L. Дальше выводишь его, как хочешь.
0
37 / 37 / 22
Регистрация: 18.01.2014
Сообщений: 150
23.01.2015, 05:10 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
#include<iostream>
#include<ctime>
using namespace std;
 
const int MAX=10;
 
int main()
{
    setlocale (LC_ALL, "RUSSIAN");
    srand(unsigned(NULL));
 
    int m,n,a,b,j;
    int arr1[MAX][MAX];
    int arr2[MAX];
    int t=0;
    int count=0;
 
 
    cout << "Введите размер матрицы. " << endl;
    cout << "Введите 'm': "; cin >> m;
    cout << "Введите 'n': "; cin >> n;
 
    cout << "Введите 'a': " ; cin >> a;
    cout << "Введите 'b': "; cin >> b;
 
    cout << "Укажите столбец: "; cin >> j;
 
    cout << endl;
    for(int i=0; i<n; i++)
    {
        for(int k=0; k<m; k++)
        {
            arr1[k][i]=rand()%10;
            cout << arr1[k][i] << "  ";
 
            if(k==j-1)
            {
                if(a<=arr1[k][i] && arr1[k][i]<=b)
                {
                    count++;
                    arr2[t++]=arr1[k][i];
                }
            }
        }
        cout << endl;
    }
 
    cout << endl;
    cout << "Все числа " << j << " столбца в диапазоне от " << a << " до " << b << ":\n";
 
    for(int i=0; i<count; i++)
    {
        cout << arr2[i] << "  ";
    }
 
    cout << endl;
    system ("PAUSE");
    return 0;
}
Добавлено через 2 часа 16 минут
Прошу прощения, вышеизложенный мной код, не соответствует условию. Он подсчитывает сумму одного столбца, указанного пользователем, и не проверяет полученное число, на соответствие его диапазону.

Вот правильный вариант:
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
#include<iostream>
#include<ctime>
using namespace std;
 
const int MAX=10;
 
int main()
{
    setlocale (LC_ALL, "RUSSIAN");
    srand((unsigned)time(NULL));
 
    int m,n,a,b;
    int sum;
    int arr1[MAX][MAX];
    int arr2[MAX];
    int count=0;
 
    cout << "Введите размер матрицы. " << endl;
    cout << "Введите 'm': "; cin >> m;
    cout << "Введите 'n': "; cin >> n;
 
    cout << endl;
 
    cout << "Введите 'a': "; cin >> a;
    cout << "Введите 'b': "; cin >> b;
 
    cout << endl;
    for(int i=0; i<n; i++) // выводим массив
    {
        for(int j=0; j<m; j++)
        {
            arr1[j][i]=rand()%10;
            cout << arr1[j][i] << "  ";
        }
        cout << endl;
    }
 
    for(int i=0; i<m; i++) // подсчитываем сумму элементов каждого столбца
    {
        sum=0;
        for(int k=0; k<n; k++)
        {
            sum+=arr1[i][k];
        }
        
        if(a <=sum && sum <=b) // условие, сумма должна соответствовать введённому нами диапазону
        {
            arr2[count]=sum;
            count++;
        }
    }
 
    cout << endl;
    cout << "Все числа в диапазоне от " << a << " до " << b << endl;
 
    for(int i=0; i<count; i++)
    {
        cout << arr2[i] << "  ";
    }
 
    cout << endl;
    system ("PAUSE");
    return 0;
}
0
Заблокирован
23.01.2015, 09:15 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
const int m = 4, n = 4, a = 3, b = 20;
    int K[m][n] = {
        {3, 2, 4, 7},
        {6, 5, 8, 9},
        {6, 4, 3, 4},
        {8, 1, 5, 9}
    }, L[m] = {};
 
    for (int i = 0, j = 0, k = 0, sum = 0; i <= m * n; i++) {
        if (j != i / n) {
            if (sum >= a && sum <= b) L[k++] = sum;
            sum = 0;
            j++;
        }
        if (i != m * n)sum += K[i % n][i / n];
    }
    for (const int & value : L)cout << value << " ";
0
23.01.2015, 09:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.01.2015, 09:15
Помогаю со студенческими работами здесь

Сформировать одномерный массив Y, состоящий из элементов, удовлетворяющих условию |Xi|<|Z|, где Z=X(5) + 0.5
как написать программу?может кто помочь? Задана последовательность X = (x1, x2, …, x10). ...

Задана последовательность X = (x1, x2, …, x10). Сформировать из неё одномерный массив Y, состоящий из элементов, удовлетворяющих условию. КАК ?

Матрицы. сформировать одномерный массив из диагональных элементов. Найти след матрицы
Требуется решить две задачки: 1. Среди столбцов (матрицы n, m), содержащих только такие элементы,...

Сформировать одномерный массив из диагональных элементов матрицы. Найти след матрицы
Для заданной квадратной матрицы сформировать одномерный массив из ее диагональных элементов. Найти...


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

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