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

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

Восстановить пароль Регистрация
 
Crazy D
0 / 0 / 0
Регистрация: 19.03.2013
Сообщений: 13
07.10.2013, 18:26     Дана целочисленная прямоугольная матрица.Определить номера строк и столбцов всех седловых точек матрицы #1
Вот начал писать, а дальше не знаю что писать.помогите
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "stdafx.h"
#include<iostream>
#include<time.h>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{const int n=3,m=4;
    int A[n][m],i,j,k,l,sum;
    int q;
    time(NULL);
    i=j=0;
    for(i=0;i<n;i++)
    { sum=0;q=0;for (j=0;j<m;j++)
    { A[i][j]=rand()%10-2;
    
    if(A[i][j]<0) q++;
    if(q>0) sum+=A[i][j];
    cout <<A[i][j]<<"  ";
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2013, 18:26     Дана целочисленная прямоугольная матрица.Определить номера строк и столбцов всех седловых точек матрицы
Посмотрите здесь:

C++ Номера строк и столбцов всех седловых точек матрицы
Найти номера строк и столбцов всех Седловых точек матрицы C++
Подскажите где ошибка (номер строк и столбцов всех седловых точек матрицы) C++
C++ дана целочисленная прямоугольная матрица. Определить количество столбцов,содержащих хотя бы один нулевой элемент.
C++ Определить номера строк и столбцов всех седловых точек матрицы
Дана целочисленная прямоугольная матрица. Определить количество строк, не содержащих ни одного нулевого элемента C++
C++ Определить номера строк и столбцов всех седловых точек матрицы
C++ Определить номера строк и столбцов всех седловых точек матрицы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Жанерке
 Аватар для Жанерке
34 / 34 / 2
Регистрация: 22.09.2013
Сообщений: 170
07.10.2013, 21:42     Дана целочисленная прямоугольная матрица.Определить номера строк и столбцов всех седловых точек матрицы #2
Crazy D, а что такое седловая точка матрицы :?
ViktorKozlov
133 / 125 / 2
Регистрация: 13.12.2012
Сообщений: 293
07.10.2013, 23:59     Дана целочисленная прямоугольная матрица.Определить номера строк и столбцов всех седловых точек матрицы #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
#include <iostream>
#include <math.h>
using namespace std;
int maximum(int *stolb,int *parr,int *ni)    //Функция определяет максимальный элемент в столбце
{
    int max=parr[*stolb];
    for (int i=*stolb;i<20*(*ni);i+=20)  //Движемся по строкам в одном столбце, начиная с первой до тех пор, пока не дойдем до последней строки
        if (parr[i]>max)
            max=parr[i];
    return max;
}
int minimum(int *parr,int *nj)               //Функция определяет минимальный элемент в строке
{
    int min=parr[0];
    for (int j=0;j<*nj;j++)
        if (parr[j]<min)
            min=parr[j];
    return min;
}
int main()
{   
    int arr2[4][6]={{21,23,43,55,19,71},
                   {-2,3,-6,3,12,2},
                   {1,-7,5,7,-16,7},
                   {5,-4,-8,1,-10,-1}};
    int arr[20][20];
    int i,j;
    int ni,nj;
 
    setlocale(0,"rus");
 
    int ch;
    cout<<"Введите 1, чтобы ввести массив самостоятельно, или 0, чтобы воспользоваться го- товым:"<<endl;
        cin>>ch;
    if (ch==0){
        ni=4;nj=6;
        for (i=0;i<ni;i++)
            for (j=0;j<nj;j++)
                arr[i][j]=arr2[i][j];}
    if (ch==1){
        cout<<"Введите количество строк массива (не более 20):"<<endl;
            cin>>ni;
        cout<<"Введите количество столбцов массива (не более 20):"<<endl;
            cin>>nj;
        for (i=0;i<ni;i++){
            cout<<"Введите "<<i+1<<"-ю строку"<<endl;
            for (j=0;j<nj;j++){
                cout<<j+1<<"-й элемент: ";
                cin>>arr[i][j];}}}
 
 
    for (i=0;i<ni;i++){                            //Вывод массива
        for (j=0;j<nj;j++)
            cout<<arr[i][j]<<"    ";
        cout<<endl;}
 
    cout<<endl;
 
    bool proverka=false;                          
        for (i=0;i<ni;i++)                         //Ищем седловые точки в матрице
            for (j=0;j<nj;j++)
                if (arr[i][j]==maximum(&j,arr[0],&ni) && arr[i][j]==minimum(arr[i],&nj)){              //Если точка является минимальной в строке и максимальной в столбце
                    cout<<"Точка с номером строки "<<i+1<<" и номером столбца "<<j+1<<" является седловой "<<"(Значение "<<arr[i][j]<<")"<<endl;
                    proverka=true;}
    if (!proverka)
        cout<<"В данном массиве нет седловых точек"<<endl;
 
    cout<<endl<<endl<<endl;
    return 0;
}
Yandex
Объявления
07.10.2013, 23:59     Дана целочисленная прямоугольная матрица.Определить номера строк и столбцов всех седловых точек матрицы
Ответ Создать тему
Опции темы

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