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

В матрице найти количество положительных элементов и переписать... - C++

Восстановить пароль Регистрация
 
ravegg
0 / 0 / 0
Регистрация: 07.04.2012
Сообщений: 5
07.04.2012, 12:01     В матрице найти количество положительных элементов и переписать... #1
1. в двумерном массиве A(5,5) найти количество положительных элементов и переписать в одномерный массив B отрицательные ее элементы.
2.В матрице B(4,4) найти число элементов главной диагонали, меньших среднего арифметического всей матрицы.
3.записать в дополнительную строку матрицы Y(5,4) минимальные элементы каждого столбца матрицы.Поменять местами минимальный и максимальный элементы первой строки.
***в каждой программе обеспечить вывод исходных и полученных массивов в корректном виде

буду очень благодарен, если кто нибудь поможет)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2012, 12:01     В матрице найти количество положительных элементов и переписать...
Посмотрите здесь:

C++ количество положительных элементов в матрице
Найти в матрице столбцы, в которых положительных элементов больше, чем отрицательных C++
C++ Найти количество положительных элементов в матрице
В матрице К размером m*n найти в каждом столбце произведение отрицательных элементов и количество нулевых элементов в матрице C++
C++ Найти через индекс количество отрицательных и количество положительных элементов массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
eji
116 / 116 / 6
Регистрация: 17.09.2010
Сообщений: 288
07.04.2012, 13:13     В матрице найти количество положительных элементов и переписать... #2
ravegg, первая задача:
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
#include <iostream>
#include <time.h>
#include <conio.h>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    cout << "Demo\n";
    int sz = 5;
    int count = 0;
    int sz_b;
    int a[sz][sz];
    srand(time(NULL));
    for(int i = 0; i < sz; i++)
    {
        for(int j = 0; j < sz; j++)
        {
            a[i][j] = rand() % 200 - 100;
            if(a[i][j] >= 0) count++;
            cout << a[i][j]
                 << "\t";
        }
        cout << endl;
    }
    sz_b = sz * sz - count;
    int b[sz_b];
    int index = 0;
    for(int i = 0; i < sz; i++)
    {
        for(int j = 0; j < sz; j++)
        {
            if(a[i][j] < 0)
            {
                b[index++] = a[i][j];
            }
        }
    }
    cout << "B------------------------------------------------\n";
    for(int i = 0; i < sz_b; i++)
    {
        cout << b[i]
             << endl;
    }
    cout << "Kolichestvo polozhitelnih elementov: "
         << count
         << endl;
    getch();
    return 0;
}
Добавлено через 9 минут
ravegg, вторая задача:
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
#include <iostream>
#include <time.h>
#include <conio.h>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    cout << "Demo\n";
    int sz = 4;
    int count = 0;
    int sum = 0;
    int a[sz][sz];
    srand(time(NULL));
    for(int i = 0; i < sz; i++)
    {
        for(int j = 0; j < sz; j++)
        {
            a[i][j] = rand() % 200 - 100;
            sum += a[i][j];
            cout << a[i][j]
                 << "\t";
        }
        cout << endl;
    }
    sum /= (sz * sz);
    cout << "Chisla menshe srednego arifmeticheskogo ("
         << sum
         << "):\n";
    for(int i = 0; i < sz; i++)
    {
        for(int j = 0; j < sz; j++)
        {
            if((i == j) && (a[i][j] < sum))
            {
                cout << a[i][j]
                     << endl;
            }
        }
    }
    getch();
    return 0;
}
Добавлено через 25 минут
ravegg,
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
#include <iostream>
#include <time.h>
#include <conio.h>
 
using namespace std;
 
const int sz1 = 5, sz2 = 4;
int get_min(int a[sz1][sz2], int column)
{
    int item = a[0][column];
    for(int i = 0; i < sz1; i++)
    {
        for(int j = 0; j < sz2; j++)
        {
            if((column == j) && (item > a[i][j]) && (a[i][j] > 0)) item = a[i][j];
        }
    }
    return item;
}
void set_indexes(int a[sz1][sz2], int &x, int &y)
{
    int max = a[0][0];
    int min = a[0][0];
    for(int i = 0; i < sz1; i++)
    {
        for(int j = 0; j < sz2; j++)
        {
            if(i == 0)
            {
                if(min > a[i][j])
                {
                    min = a[i][j];
                    y = j;
                }
                if(max < a[i][j])
                {
                    max = a[i][j];
                    x = j;
                }
            }
        }
    }
}
 
int main(int argc, char *argv[])
{
    cout << "Demo\n";
    int a[sz1][sz2];
    int x;
    int y;
    srand(time(NULL));
    for(int i = 0; i < sz1; i++)
    {
        for(int j = 0; j < sz2; j++)
        {
            if(i <= sz1 - 2) a[i][j] = rand() % 100;
            else a[i][j] = 0;
            cout << a[i][j]
                 << "\t";
        }
        cout << endl;
    }
    cout << "new matrix---------------------------------------------\n";
    set_indexes(a, x, y);
    int tmp = a[0][x];
    a[0][x] = a[0][y];
    a[0][y] = tmp;
    for(int i = 0; i < sz1; i++)
    {
        for(int j = 0; j < sz2; j++)
        {
            if(i == sz1 - 1) a[i][j] = get_min(a, j);
            cout << a[i][j]
                 << "\t";
        }
        cout << endl;
    }
    getch();
    return 0;
}
ravegg
0 / 0 / 0
Регистрация: 07.04.2012
Сообщений: 5
07.04.2012, 13:16  [ТС]     В матрице найти количество положительных элементов и переписать... #3
Спасибо большое дружище)
3BEPb_TyTa
 Аватар для 3BEPb_TyTa
18 / 18 / 1
Регистрация: 18.05.2010
Сообщений: 83
07.04.2012, 13:41     В матрице найти количество положительных элементов и переписать... #4
Цитата Сообщение от eji Посмотреть сообщение
int sz = 5; int a[sz][sz];
ругаться ведь будет, нельзя задавать размер массива используя неконстантные переменные
Yandex
Объявления
07.04.2012, 13:41     В матрице найти количество положительных элементов и переписать...
Ответ Создать тему
Опции темы

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