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

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

Войти
Регистрация
Восстановить пароль
 
Татьяна0205
0 / 0 / 0
Регистрация: 26.12.2012
Сообщений: 18
#1

Найти седловую точку целочисленной матрицы с числом строк не более 12, числом столбцов не более 20 (ООП) - C++

06.01.2013, 22:44. Просмотров 398. Ответов 3
Метки нет (Все метки)

1. Найти седловую точку целочисленной матрицы с числом строк не более 12, числом столбцов не более 20. Найти произведение ненулевых элементов столбца, в котором окажется седловая точка. Формат числа ц.
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
104
105
106
107
108
109
110
111
112
# include <stdio.h>
# include <conio.h>
# include <stdlib.h>
int input(int (*B)[20], int xi, int xj);
void print(int (*C)[20], int yi, int yj);
void sedl(int (*D)[20], int zi, int zj);
void main ()
{
int M,N;
int A[12][20];
printf("Vvedite kol-vo strok(m<=12)\n");
scanf("%d",&M);
printf("Vvedite kol-vo stolbcov (n<=20)\n");
scanf("%d",&N);
clrscr();
randomize();
input(A,N,M);
clrscr();
printf("Massiv A:\n");
print(A,N,M);
sedl(A,N,M);
 
}
 
void print(int (*C)[20], int yi, int yj)
{int i,j;
for (i=1;i<=yi;i++)
{
for (j=1;j<=yj;j++)
{
printf("%2d  ",C[i][j]);
}
printf("\n");
}
}
 
int input(int (*B)[20], int xi, int xj)
{int i,j;
for (i=1;i<=xi;i++)
{
for (j=1;j<=xj;j++)
{
B[i][j]=random(9)+1;
}
printf("\n");
}
}
 
void sedl(int (*D)[20], int zi, int zj)
{
int i,j,mij,maj,Pa,Pi;
int maxi[12],mini[12],maxj[20],minj[20];
for (i=1;i<=zi;i++)
{
maxi[i]=0;
mini[i]=101;
for (j=1;j<=zj;j++)
{
if (D[i][j]>maxi[i])
{maxi[i]=D[i][j];}
if (D[i][j]<mini[i])
{mini[i]=D[i][j];
}
}
}
 
for (j=1;j<=zj;j++)
{
maxj[j]=0;
minj[j]=101;
for (i=1;i<=zi;i++)
{
if (D[i][j]>maxj[j])
{maxj[j]=D[i][j];
}
if (D[i][j]<minj[j])
{minj[j]=D[i][j];}
}
}
printf("\n");
 
for (i=1;i<=zi;i++)
{
for (j=1;j<=zj;j++)
{
if (D[i][j]==mini[i] & D[i][j]==maxj[j])
{printf("Sedlovaia tochka = %d\n",D[i][j]);
maj=0;
maj=j;
}
else if (D[i][j]==minj[j] & D[i][j]==maxi[i])
{printf("Sedlovaia tochka = %d\n",D[i][j]);
mij=0;
mij=j;}
}
}
Pi=1;
Pa=1;
for (i=1;i<=zi;i++)
{
if (D[i][maj]!=0)
{Pa*=D[i][maj];
}
if (D[i][mij]!=0)
{Pi*=D[i][mij];
}
}
if (Pa!=1)
printf("Proizvedenie[%d] = %d\n",maj,Pa);
if (Pi!=1)
printf("Proizvedenie[%d] = %d\n",mij,Pi);
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2013, 22:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти седловую точку целочисленной матрицы с числом строк не более 12, числом столбцов не более 20 (ООП) (C++):

Найти седловую точку матрицы! - C++
Седловой точкой матрицы назовём такой элемент, который является одновременно максимальным в столбце и минимальным в строке. Найти одну,...

прога которая содержащий не более 10 строк, в каждой строке не более 80 символов и эти символы вводятся с клавиатуры - C++
здравструйте, помогите написать прогу которая содержащий не более 10 строк, в каждой строке не более 80 символов и эти символы вводятся с...

Найти слова, которые состоят из 3х и более букв и имеют более 2х гласных - C++
Написать функцию, которая выводит слова, которые состоят из 3 х и более букв и имеющих более 2х гласных. Результат сохранить в файл...

По некоторому количеству строк (не более N) найти пары строк с общим словом - C++
По некоторому количеству строк (не более N) найти пары строк с общим словом. помогите, пожалуйста. слишком быстро перескочили и со...

Определить разность между наибольшим числом и наименьшим числом последовательности - C++
вот задание и сама программа,в ней ошибка ,но незнаю какая. Помогите пожалуйста! Даны вещественные числа A1, A2, A3, ... . Признак...

Проверка является ли строка числом полностью числом или нет? - C++
как проверить является ли строка типа &quot;23уар&quot; полностью числом или нет?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
07.01.2013, 00:00 #2
Татьяна0205, и?
0
David Sylva
1286 / 948 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
07.01.2013, 00:08 #3
Татьяна0205, Я думаю в данном случае под объектным-программированием подразумевается реализация данной задачи с помощью классов.Воспользуйтесь поиском найдите реализацию класса матрица и допилите под своё условие. Кстати ваш код это код на СИ.
0
asidorchenko
379 / 205 / 25
Регистрация: 09.04.2012
Сообщений: 635
07.01.2013, 03:36 #4
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# include <stdio.h>
# include <conio.h>
# include <stdlib.h>
# include <time.h>
 
class matrix
{
 private:
 int M,N;
 int A[12][20];
 
 void print(int (*C)[20], int yi, int yj)
 {
  int i,j;
  for (i=1;i<=yi;i++)
  {
   for (j=1;j<=yj;j++)
   {
    printf("%2d  ",C[i][j]);
   }
   printf("\n");
  }
 };
 
 void input(int (*B)[20], int xi, int xj)
 {
  srand(time(NULL));
  int i,j;
  for (i=1;i<=xi;i++)
  {
   for (j=1;j<=xj;j++)
   {
    B[i][j]=(rand()%9)+1;
   }
   printf("\n");
  }
 };
 
 void sedl(int (*D)[20], int zi, int zj)
 {
  int i,j,mij,maj,Pa,Pi;
  int maxi[12],mini[12],maxj[20],minj[20];
  for (i=1;i<=zi;i++)
  {
   maxi[i]=D[i][1];
   mini[i]=D[i][1];
   for (j=1;j<=zj;j++)
   {
    if (D[i][j]>maxi[i])
     {maxi[i]=D[i][j];}
    if (D[i][j]<mini[i])
     {mini[i]=D[i][j];}
   }
  }
 
  for (i=1;i<=zi;i++)
   printf("%d ", maxi[i]);
  printf("\n");
 
  for (i=1;i<=zi;i++)
   printf("%d ", mini[i]);
  printf("\n");
 
  for (j=1;j<=zj;j++)
  {
   maxj[j]=D[1][j];
   minj[j]=D[1][j];
   for (i=1;i<=zi;i++)
   {
    if (D[i][j]>maxj[j])
     {maxj[j]=D[i][j];}
    if (D[i][j]<minj[j])
     {minj[j]=D[i][j];}}
   }
   printf("\n");
 
  for (j=1;j<=zj;j++)
   printf("%d ", maxj[j]);
  printf("\n");
 
  for (j=1;j<=zj;j++)
   printf("%d ", minj[j]);
  printf("\n");
 
 
   for (i=1;i<=zi;i++)
   {
    for (j=1;j<=zj;j++)
    {
     if (D[i][j]==mini[i] & D[i][j]==maxj[j])
      {
       printf("Sedlovaia tochka = %d\n",D[i][j]);
       maj=0;
       maj=j;
      }
     else if (D[i][j]==minj[j] & D[i][j]==maxi[i])
      {
       printf("Sedlovaia tochka = %d\n",D[i][j]);
       mij=0;
       mij=j;
      }
    }
   }
 };
 
public:
 void main()
 {
  printf("Vvedite kol-vo strok(m<=12)\n");
  scanf("%d",&M);
  printf("Vvedite kol-vo stolbcov (n<=20)\n");
  scanf("%d",&N);
  input();
  printf("Massiv A:\n");
  print();
  sedl();
 };
 void print(){ print(A,N,M);};
 void input(){ input(A,N,M);};
 void sedl(){ sedl(A,N,M);};
};
 
 
 
 
int main ()
{
 matrix t;
 t.main();
 return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.01.2013, 03:36
Привет! Вот еще темы с ответами:

Найти седловую точку целочисленной матрицы с числом строк не более 4, числом столбцов не более 5 - C++ Builder
Дано : 7. Найти седловую точку целочисленной матрицы с числом строк не более 4, числом столбцов не более 5. Найти произведение ненулевых...

Дан двумерный массив, который содержит не более 20 строк и не более 5 столбцов - PascalABC.NET
Дан двумерный массив, который содержит не более 20 строк и не более 5 столбцов. Найти минимальный элемент и поменять его местами со вторым...

Дана прямоугольная таблица которая содержит не более 10 строк и не более 10 столбцов. Вывести только те элемен - Delphi
Дана прямоугольная таблица которая содержит не более 10 строк и не более 10 столбцов. Вывести только те элементы, которые меньше элемента,...

Даны три массива с числом элементов не более 17, найти индекс максимальной разности - QBasic
Не могу решить(( Даны три массива с числом элементов не более 17 в каждом. Определить 17(тут возможна опечатка!...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.01.2013, 03:36
Ответ Создать тему
Опции темы

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