Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
SpblrT
1 / 1 / 1
Регистрация: 24.11.2011
Сообщений: 40
1

Дана целочисленная прямоугольная матрица

20.12.2011, 20:08. Просмотров 1249. Ответов 2
Метки нет (Все метки)

)Дана целочисленная прямоугольная матрица. определить:
1) Количество отрицательных элементов в тех строках которые содержат хотябы один нулевой элемент.
2) номера строк и столбцов всех седловых точек матрицы.

Примечание. Матрица А имеет седловую точку Aj, если Aj является минимальным элементом в i-й строке и максимальным в j-v столбце.
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2011, 20:08
Ответы с готовыми решениями:

дана целочисленная прямоугольная матрица
дана целочисленная прямоугольная матрица 1)определить количество строк,не содержавших не одного...

Дана целочисленная прямоугольная матрица
Дана целочисленная прямоугольная матрица. 1) Найдите наименьший элемент среди четных строк этой...

Дана целочисленная прямоугольная матрица
Здравствуйте уважаемые программисты. Помогите пожалуйста с заданием. Дана целочисленная...

Дана целочисленная прямоугольная матрица
1)Определить произведение элементов в тех строках,которые не содержат положительных элементов....

Дана целочисленная прямоугольная матрица
Дана целочисленная прямоугольная матрица. Упорядочить столбцы целочисленной прямоугольной матрицы...

2
Heidel
114 / 114 / 39
Регистрация: 11.10.2011
Сообщений: 649
20.12.2011, 23:13 2
Лучший ответ Сообщение было отмечено SpblrT как решение

Решение

Программа решает первую часть задачи, разбираться со второй у меня не было времени:
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
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
 
int main ()
{
    srand(time(NULL));
 
    int i, j, n, m;
    int **mas = NULL;
 
    cout << "Vvedite kolichestvo strok n = ";
    cin >> n;
    cout << "Vvedite kolichestvo stolbzov m = ";
    cin >> m;
 
    cout << "\nMatriza razmerom " << n << "x" << m <<"\n\n";
    
    //Âûäåëÿåì ïàìÿòü ïîä ìàòðèöó
    //Âûäåëÿåì ïàìÿòü ïîä ìàññèâ ñòðîê ìàòðèöû
    mas = new int*[n];
    for (i = 0; i < n; ++i)
    {
        //Âûäåëÿåì ïàìÿòü ïîä êàæäóþ ñòðîêó ìàòðèöû
        mas[i] = new int[m];
        for (j = 0; j < m; ++j)
        {
            mas[i][j] = rand()%201-100; //Çàïîëíåíèå ìàòðèöû ñëó÷àéíûìè ÷èñëàìè â äèàïàçîíå îò -100 äî 100
            cout << mas[i][j] << "\t";
        }
 
        cout << "\n";
    }
    
    cout << "\n";   
 
    for (j = 0; j < m; ++j)
    {
        int count = 0;
        
        for (i = 0; i < n; ++i)
        {
            if (mas[i][j] == 0)
            {
                ++count;
            }
        }
 
        if (count !=0)
        {
            int num = 0;
 
            for (i = 0; i < n; ++i)
            {
                if (mas[i][j] < 0)
                {
                    ++num;
                }
            }
 
            cout << "Kolichestvo otrizatelnyh elementov v " << j << " stolbze matrizy: " << num << "\n";
        }
    }
 
    //Óäàëåíèå ìàòðèöû èç ïàìÿòè
    //Óäàëåíèå êàæäîé ñòðîêè ìàòðèöû
 
    for (i = 0; i < n; ++i)
    delete[] mas[i];
 
    //Óäàëåíèå ìàññèâà ñòðîê ìàòðèöû mas
    delete[] mas;
 
    return 0;
 
}
1
Dan.D
3 / 3 / 2
Регистрация: 13.12.2011
Сообщений: 14
21.12.2011, 00:40 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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
// sed.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <ctime>
#include <cstdlib>
#include <iostream>
#include <conio.h>
#include <stdio.h>
using namespace std;
 
int main ()
{ 
    srand(time(NULL));
    setlocale(LC_ALL,"rus");
        int i, j, n, m, jmax, imin;
        int **mas = NULL;
 
        cout << "Введите колличество строк n=";
        cin >> n;
        cout << "Введеите колличество столбцов m = ";
        cin >> m;
        
        //Выделяем память под матрицу
        //Выделяем память под массив строк матрицы
        mas = new int*[n];
        for (i = 0; i < n; ++i)
        {
                //Выделяем память под каждую строку матрицы
                mas[i] = new int[m];
                for (j = 0; j < m; ++j)
                {
                        mas[i][j] = rand()%201-100; //Заполнение матрицы случайными числами в диапазоне от -100 до 100
                        cout << mas[i][j] << "\t";
                }
 
                cout << "\n";
        }
        
        cout << "\n";   
 
        for (j = 0; j < m; ++j)
        {
                int count = 0;
                
                for (i = 0; i < n; ++i)
                {
                        if (mas[i][j] == 0)
                        {
                                ++count;
                        }
                }
 
                if (count !=0)
                {
                        int num = 0;
 
                        for (i = 0; i < n; ++i)
                        {
                                if (mas[i][j] < 0)
                                {
                                        ++num;
                                }
                        }
 
                        cout << "Колличество отрицательных элементов в " << j << " столбце матрицы: " << num << "\n";
                }
        }
 
        //Поиск седловой точкм
 
        for (j = 0,*(mas+jmax)=0; j < m; ++j)
        {   
            if(*(mas+j)>*(mas+jmax))
                jmax=j;
        for(i=0, ,*(mas+imin)=0; i<n; i++)
        {
            
 
            if(*(mas+i)<*(mas+imin))
                imin=i;
        
 
            if(imin==jmax)
            cout<<"Строка "<<i<<" и столбец "<<j<<" содержат седловую точку"<<"\n";
        }
 
        }
        
 
 
        //Удаление матрицы из памяти
        //Удаление каждой строки матрицы
 
        for (i = 0; i < n; ++i)
        delete[] mas[i];
 
        //Удаление массива строк матрицы mas
        delete[] mas;
 
        getch();
 
}


вроде так хотя не уверен
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.12.2011, 00:40

Дана целочисленная прямоугольная матрица
Доброго времени суток. Люди, от вас зависит идти мне в армию или нет. 4 месяца лежал в больнице,...

Дана целочисленная прямоугольная матрица
Вообщем сделал 2\3 задания не могу разобраться с последним пунктом Вот собственно код #include...

C++ Дана целочисленная прямоугольная матрица
Дана целочисленная прямоугольная матрица. Определить: 1) количество столбцов, содержащих хотя бы...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.