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

В двухмерном массиве с целыми коэффициентами, для каждого столбца найти минимальный элемент в этом столбце и индекс этого элемента. - C++

Восстановить пароль Регистрация
 
Tom993
Сообщений: n/a
03.02.2013, 21:55     В двухмерном массиве с целыми коэффициентами, для каждого столбца найти минимальный элемент в этом столбце и индекс этого элемента. #1
Помогите еще пожалуйста. Имеется такое задание: в данном двухмерном массиве A[N][N] с целыми коэффициентами для каждого столбца найти минимальное значение элемента в этом столбце, напечатать этот элемент и его индексы.
Есть решение, только нужно сделать что бы размер массива в одном месте задавался и программа сама уже, так сказать, подстраивалась. Как-то через "for" нужно сделать, да только мозгов не хватает(
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
#include <clx.h>
#include <conio.h>
#include <iostream.h> // Загрузка заголовков
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
int main(int argc, char* argv[]) // Прототип главной функции
{
int A[10][10];                   // Объявление двумерного массива
 
 
// Здесь было использованно разделение массива на 10 отдельных одномерных массива
 
int A1[10];
int max_elem1;
int min_elem1;
int index_maxi1;
int index_maxj1;
 
 
int A2[10];
int max_elem2;
int min_elem2;
int index_maxi2;
int index_maxj2;
 
 
int A3[10];
int max_elem3;
int min_elem3;
int index_maxi3;
int index_maxj3;
 
 
int A4[10];
int max_elem4;
int min_elem4;
int index_maxi4;
int index_maxj4;
 
 
int A5[10];
int max_elem5;
int min_elem5;
int index_maxi5;
int index_maxj5;
 
 
int A6[10];
int max_elem6;
int min_elem6;
int index_maxi6;
int index_maxj6;
 
 
int A7[10];
int max_elem7;
int min_elem7;
int index_maxi7;
int index_maxj7;
 
 
int A8[10];
int max_elem8;
int min_elem8;
int index_maxi8;
int index_maxj8;
 
 
int A9[10];
int max_elem9;
int min_elem9;
int index_maxi9;
int index_maxj9;
 
 
int A10[10];
int max_elem10;
int min_elem10;
int index_maxi10;
int index_maxj10;
 
 
for (int i =  0; i < 10; i++)
{
for (int j = 0; j < 10; i++)      // Образование  заданного массива
{
A[i][j] = rand() % 10;            // С помощью генератора случайных чисел
 
for (int i1 = 0; i < 10; i++)
 
// Далее уже используется расчёт для каждого отдельного массива минимального
// и максимального значений. А так же их индексов
{
int index_min;
A1[0] = A[0][0];
A1[1] = A[0][1];
A1[2] = A[0][2];
A1[3] = A[0][3];
A1[4] = A[0][4];
A1[5] = A[0][5];
A1[6] = A[0][6];
A1[7] = A[0][7];
A1[8] = A[0][8];
A1[9] = A[0][9];
if (max_elem1 < A[i1])
{
max_elem1 = A[i1];
index_maxi1 = i1;
}
if (min_elem1 > A[i1])
{
min_elem1 = A[i1];
index_min = i1;
}
cout << "max value = " << max_elem1 << "index = 0 " << index_maxi1 << endl;
cout << "min value = " << min_elem1 << "index =" << index_min << endl;
}
 
for (int i2 = 0; i < 10; i++)
{
int index_min;
A2[0] = A[1][0];
A2[1] = A[1][1];
A2[2] = A[1][2];
A2[3] = A[1][3];
A2[4] = A[1][4];
A2[5] = A[1][5];
A2[6] = A[1][6];
A2[7] = A[1][7];
A2[8] = A[1][8];
A2[9] = A[1][9];
if (max_elem2 < A[i2])
{
max_elem2 = A[i2];
index_maxi2 = i2;
}
if (min_elem2 > A[i2])
{
min_elem1 = A[i2];
index_min = i2;
}
cout << "max value = " << max_elem2 << "index = 1 " << index_maxi2 << endl;
cout << "min value = " << min_elem2 << "index =" << index_min << endl;
}
 
for (int i3 = 0; i < 10; i++)
{
int index_min;
A3[0] = A[2][0];
A3[1] = A[2][1];
A3[2] = A[2][2];
A3[3] = A[2][3];
A3[4] = A[2][4];
A3[5] = A[2][5];
A3[6] = A[2][6];
A3[7] = A[2][7];
A3[8] = A[2][8];
A3[9] = A[2][9];
if (max_elem3 < A[i3])
{
max_elem3 = A[i3];
index_maxi3 = i3;
}
if (min_elem3 > A[i3])
{
min_elem3 = A[i3];
index_min = i3;
}
cout << "max value = " << max_elem3 << "index = 2 " << index_maxi3 << endl;
cout << "min value = " << min_elem3 << "index =" << index_min << endl;
}
 
for (int i4 = 0; i < 10; i++)
{
int index_min;
A4[0] = A[3][0];
A4[1] = A[3][1];
A4[2] = A[3][2];
A4[3] = A[3][3];
A4[4] = A[3][4];
A4[5] = A[3][5];
A4[6] = A[3][6];
A4[7] = A[3][7];
A4[8] = A[3][8];
A4[9] = A[3][9];
if (max_elem4 < A[i4])
{
max_elem4 = A[i4];
index_maxi4 = i4;
}
if (min_elem4 > A[i4])
{
min_elem4 = A[i4];
index_min = i4;
}
cout << "max value = " << max_elem4 << "index = 3 " << index_maxi4 << endl;
cout << "min value = " << min_elem4 << "index =" << index_min << endl;
}
 
for (int i5 = 0; i < 10; i++)
{
int index_min;
A5[0] = A[4][0];
A5[1] = A[4][1];
A5[2] = A[4][2];
A5[3] = A[4][3];
A5[4] = A[4][4];
A5[5] = A[4][5];
A5[6] = A[4][6];
A5[7] = A[4][7];
A5[8] = A[4][8];
A5[9] = A[4][9];
if (max_elem5 < A[i5])
{
max_elem5 = A[i5];
index_maxi5 = i5;
}
if (min_elem5 > A[i5])
{
min_elem5 = A[i5];
index_min = i5;
}
cout << "max value = " << max_elem5 << "index = 4 " << index_maxi5 << endl;
cout << "min value = " << min_elem5 << "index =" << index_min << endl;
}
 
for (int i6 = 0; i < 10; i++)
{
int index_min;
A6[0] = A[5][0];
A6[1] = A[5][1];
A6[2] = A[5][2];
A6[3] = A[5][3];
A6[4] = A[5][4];
A6[5] = A[5][5];
A6[6] = A[5][6];
A6[7] = A[5][7];
A6[8] = A[5][8];
A6[9] = A[5][9];
if (max_elem6 < A[i6])
{
max_elem6 = A[i6];
index_maxi6 = i6;
}
if (min_elem6 > A[i6])
{
min_elem6 = A[i6];
index_min = i6;
}
cout << "max value = " << max_elem6 << "index = 5 " << index_maxi6 << endl;
cout << "min value = " << min_elem6 << "index =" << index_min << endl;
}
 
for (int i7 = 0; i < 10; i++)
{
int index_min;
A7[0] = A[6][0];
A7[1] = A[6][1];
A7[2] = A[6][2];
A7[3] = A[6][3];
A7[4] = A[6][4];
A7[5] = A[6][5];
A7[6] = A[6][6];
A7[7] = A[6][7];
A7[8] = A[6][8];
A7[9] = A[6][9];
if (max_elem7 < A[i7])
{
max_elem7 = A[i7];
index_maxi7 = i7;
}
if (min_elem7 > A[i7])
{
min_elem7 = A[i7];
index_min = i7;
}
cout << "max value = " << max_elem7 << "index = 6 " << index_maxi7 << endl;
cout << "min value = " << min_elem7 << "index =" << index_min << endl;
}
 
for (int i8 = 0; i < 10; i++)
{
int index_min;
A8[0] = A[7][0];
A8[1] = A[7][1];
A8[2] = A[7][2];
A8[3] = A[7][3];
A8[4] = A[7][4];
A8[5] = A[7][5];
A8[6] = A[7][6];
A8[7] = A[7][7];
A8[8] = A[7][8];
A8[9] = A[7][9];
if (max_elem8 < A[i8])
{
max_elem8 = A[i8];
index_maxi8 = i8;
}
if (min_elem8 > A[i8])
{
min_elem8 = A[i8];
index_min = i8;
}
cout << "max value = " << max_elem8 << "index = 7 " << index_maxi8 << endl;
cout << "min value = " << min_elem8 << "index =" << index_min << endl;
}
 
for (int i3 = 0; i < 10; i++)
{
int index_min;
A9[0] = A[8][0];
A9[1] = A[8][1];
A9[2] = A[8][2];
A9[3] = A[8][3];
A9[4] = A[8][4];
A9[5] = A[8][5];
A9[6] = A[8][6];
A9[7] = A[8][7];
A9[8] = A[8][8];
A9[9] = A[8][9];
if (max_elem9 < A[i9])
{
max_elem9 = A[i9];
index_maxi9 = i9;
}
if (min_elem9 > A[i9])
{
min_elem9 = A[i9];
index_min = i9;
}
cout << "max value = " << max_elem9 << "index = 8 " << index_maxi9 << endl;
cout << "min value = " << min_elem9 << "index =" << index_min << endl;
}
 
for (int i3 = 0; i < 10; i++)
{
int index_min;
A10[0] = A[9][0];
A10[1] = A[9][1];
A10[2] = A[9][2];
A10[3] = A[9][3];
A10[4] = A[9][4];
A10[5] = A[9][5];
A10[6] = A[9][6];
A10[7] = A[9][7];
A10[8] = A[9][8];
A10[9] = A[9][9];
if (max_elem10 < A[i]10)
{
max_elem10= A[i10];
index_maxi10 = i10;
}
if (min_elem10 > A[i10])
{
min_elem10 = A[i10];
index_min = i10;
}
cout << "max value = " << max_elem10 << "index = 9 " << index_maxi10 << endl;
cout << "min value = " << min_elem10 << "index =" << index_min << endl;
}
 
}
} // Конец расчёта
getch(); //Ожидание ввода с клавиатуры
        return 0;
}
Добавлено через 14 секунд
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.02.2013, 21:55     В двухмерном массиве с целыми коэффициентами, для каждого столбца найти минимальный элемент в этом столбце и индекс этого элемента.
Посмотрите здесь:

C++ Найти минимальный элемент каждого столбца матрицы
В двухмерном массиве найти минимальный, отрицательный элемент массива C++
Дан массив целых чисел. Найти В этом массиве минимальный элемент т и максимальный элемент м. Вывести сумму элементов от минимального до максимального C++
C++ найти минимальный элемент матрицы, и начиная с этого элемента, обнулить остальные C++
Для каждого столбца матрицы найти значение и индекс максимального элемента C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
03.02.2013, 23:40     В двухмерном массиве с целыми коэффициентами, для каждого столбца найти минимальный элемент в этом столбце и индекс этого элемента. #2
Цитата Сообщение от Tom993 Посмотреть сообщение
Спасибо большое)

Добавлено через 7 минут
Помогите еще пожалуйста. Имеется такое задание: в данном двухмерном массиве A[N][N] с целыми коэффициентами для каждого столбца найти минимальное значение элемента в этом столбце, напечатать этот элемент и его индексы.
Есть решение, только нужно сделать что бы размер массива в одном месте задавался и программа сама уже, так сказать, подстраивалась. Как-то через "for" нужно сделать, да только мозгов не хватает(

Добавлено через 14 секунд
Ваша большая ошибка в том, что вы пытаетесь писать в С++ в стиле С... с такими задачами обращайтесь в раздел С...
по хорошему нужно делать контейнеры что-то типа vector< vector<T> > так будет именно в стиле С++...
но раз условие стоит... хорошо, пусть на входе массив A[N][N]

вот само решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using std::cout;    using std::endl; 
 
int main()
{
    const size_t N = 3;
        int A [N] [N] = {{111,121,16}, 
                          {21,22,23}, 
                         {311,32,3}};
    size_t minAindex [N];
    size_t i,j;
    
    for (i = 0; i<N; ++i)
    {
      minAindex[i] = 0;
      for (j = 0; j<N; ++j)
            if (A [minAindex[i]][i]>A[j][i])
                minAindex[i] = j;
    }       
    for (size_t i=0; i!=N; i++)
     cout << " Минимальный элемент "<<i+1<<" столбца "<<A[minAindex[i]][i]<<" по индексам ["<<i+1<<","<<minAindex[i]+1<<"]"<<endl;
    return 0;
}
Пёс
 Аватар для Пёс
228 / 76 / 4
Регистрация: 03.02.2013
Сообщений: 311
04.02.2013, 03:36     В двухмерном массиве с целыми коэффициентами, для каждого столбца найти минимальный элемент в этом столбце и индекс этого элемента. #3
Цитата Сообщение от Tom993 Посмотреть сообщение

C++
1
2
3
4
5
6
7
8
9
10
A1[0] = A[0][0];
A1[1] = A[0][1];
A1[2] = A[0][2];
A1[3] = A[0][3];
A1[4] = A[0][4];
A1[5] = A[0][5];
A1[6] = A[0][6];
A1[7] = A[0][7];
A1[8] = A[0][8];
A1[9] = A[0][9];
О, Боже! Какой ужас....
Кликните здесь для просмотра всего текста

............................................________
....................................,.-‘”...................``~.,
.............................,.-”..................................."-.,
.........................,/...............................................”:,
.....................,?......................................................\,
.................../...........................................................,}
................./......................................................,:`^`..}
.............../...................................................,:”........./
..............?.....__.........................................:`.........../
............./__.(....."~-,_..............................,:`........../
.........../(_....”~,_........"~,_....................,:`........_/
..........{.._$;_......”=,_......."-,_.......,.-~-,},.~”;/....}
...........((.....*~_.......”=-._......";,,./`..../”............../
...,,,___.\`~,......"~.,....................`.....}............../
............(....`=-,,.......`........................(......;_,,-”
............/.`~,......`-...............................\....../\
.............\`~.*-,.....................................|,./.....\,__
,,_..........}.>-._\...................................|..............`=~-,
.....`=~-,_\_......`\,.................................\
...................`=~-,,.\,...............................\
................................`:,,...........................`\..............__
.....................................`=-,...................,%`>--==``
........................................_\..........._,-%.......`\
...................................,<`.._|_,-&``................`\

Вы не задумывались об использовании цикла?

C++
1
2
for(int i = 0; i<10; i++)
    A1[i]=A[0][i];
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
04.02.2013, 03:39     В двухмерном массиве с целыми коэффициентами, для каждого столбца найти минимальный элемент в этом столбце и индекс этого элемента. #4
Вы не задумывались об использовании цикла?

C++
1
2
for(int i = 0; i<10; i++)
    A1[i]=A[0][i];
если вчитаетесь в задание, там и такой собтна цикл не нужен)
отстаньте от человека, все с чего-то начинали

а этот код очень полезен (называется китайский)... суть в том, что платят за строчки кода и я встречался такой работой - объясняешь это так, если спросят - ну так процессор не тратит время на jmp
если не спросят - в следующий раз пишешь идусский код
C++
1
2
3
4
5
6
7
8
9
10
if (true)
{
 текст программы
...
}
else
{
чистый доход
...
}
Пёс
 Аватар для Пёс
228 / 76 / 4
Регистрация: 03.02.2013
Сообщений: 311
04.02.2013, 03:46     В двухмерном массиве с целыми коэффициентами, для каждого столбца найти минимальный элемент в этом столбце и индекс этого элемента. #5
Цитата Сообщение от abit Посмотреть сообщение
если вчитаетесь в задание, там и такой собтна цикл не нужен)
отстаньте от человека, все с чего-то начинали
Да я даже не начинал приставать. Просто неявно советовал больше так не делать. Наоборот, если вы не заметили, я стараюсь помогать новичкам в Си++. Хотя сам новичок (на форуме).

Добавлено через 3 минуты
abit,

Не по теме:

про китайский код насмешили А что значит индусский код?



Добавлено через 48 секунд

Не по теме:

Всё, понял.... не обратил внимания на вставку

Poring
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 9
28.02.2013, 23:37     В двухмерном массиве с целыми коэффициентами, для каждого столбца найти минимальный элемент в этом столбце и индекс этого элемента. #6
дабы не создавать топик отпишу тут.

одна из целей задачи найти минимальный элемент массива, максимальный я нашёл, но если по аналогии делаю на минимальный, его не находит

C++
1
2
3
4
5
 if (B[i][j]<min)
    
        min=B[i][j];
        n_min=i;
        m_min=j;
olya7
476 / 293 / 91
Регистрация: 18.02.2013
Сообщений: 684
28.02.2013, 23:48     В двухмерном массиве с целыми коэффициентами, для каждого столбца найти минимальный элемент в этом столбце и индекс этого элемента. #7
Цитата Сообщение от Poring Посмотреть сообщение
if (B[i][j]<min)
{
min=B[i][j];
* * * * n_min=i;
* * * * m_min=j;}
а топик новый надо было все же создать
Poring
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 9
28.02.2013, 23:52     В двухмерном массиве с целыми коэффициентами, для каждого столбца найти минимальный элемент в этом столбце и индекс этого элемента. #8
olya7, пробовал, не помогает, выводит, что мин элемент =0
olya7
476 / 293 / 91
Регистрация: 18.02.2013
Сообщений: 684
01.03.2013, 00:05     В двухмерном массиве с целыми коэффициентами, для каждого столбца найти минимальный элемент в этом столбце и индекс этого элемента. #9
Poring, было бы неплохо код увидеть)
Poring
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 9
01.03.2013, 00:08     В двухмерном массиве с целыми коэффициентами, для каждого столбца найти минимальный элемент в этом столбце и индекс этого элемента. #10
пока делаю одну часть это нахождение минимального, а вообще, необходимо найти минимальные элементы в чётных строках, ну а потом их сумму. Трудность почему то вызвало нахождение минимального, ну и пока не придумал как сделать нахождение минимального в чётных строка. С одномерными всё нормально получалось)
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
#include<stdio.h> 
#include<conio.h>
#include<math.h>
#include<windows.h>
char bufRus[256];
char* Rus(const char*text)
{
    CharToOem(text, bufRus);
    return bufRus;
}
main()
{
   int i, j, m, n, n_min, m_min;
   float B [10][10], min;
 
   printf (Rus(" Введите число строк и столбцов \n")); 
   scanf ("%d %d", &n, &m);
   for(i=0; i<n; i++)
     for(j=0; j<m; j++)
     {
       printf(Rus("Введите B[%d, %d]="), i, j);
       scanf("%f", &B[i][j]);
     }
 
puts(Rus("Матрица B:"));
  for(i=0;i<n;i++)
    { 
      for(j=0;j<m;j++)
      printf("%8.2f",B[i][j]);
      printf("\n");
    }
    
    
  
  for(i=1;i<n;i=i+2)
  
   for(j=0;j<m;j++)
  
  
  if (B[i][j]<min)
    
    
        min=B[i][j];
        n_min=i;
        m_min=j;
        
        
   printf(Rus("минимальный  элемент массива равен числу =%6.2f\n\n\n"), min);   
 
 
 
    fflush(stdin);
    getchar();
    return(0);
}
olya7
476 / 293 / 91
Регистрация: 18.02.2013
Сообщений: 684
01.03.2013, 00:26     В двухмерном массиве с целыми коэффициентами, для каждого столбца найти минимальный элемент в этом столбце и индекс этого элемента. #11
вот так
Цитата Сообщение от Poring Посмотреть сообщение
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<windows.h>
char bufRus[256];
char* Rus(const char*text)
{
* * CharToOem(text, bufRus);
* * return bufRus;
}
main()
{
* *int i, j, m, n, n_min, m_min;
* *float B [10][10], min;
printf (Rus(" Введите число строк и столбцов \n"));
* *scanf ("%d %d", &n, &m);
* *for(i=0; i<n; i++)
* * *for(j=0; j<m; j++)
* * *{
* * * *printf(Rus("Введите B[%d, %d]="), i, j);
* * * *scanf("%f", &B[i][j]);
* * *}
puts(Rus("Матрица B:"));
* for(i=0;i<n;i++)
* * {
* * * for(j=0;j<m;j++)
* * * printf("%8.2f",B[i][j]);
* * * printf("\n");
* * }
min=B[1][0];
for(i=1;i<n;i=i+2)
for(j=0;j<m;j++)
if (B[i][j]<min)
{
min=B[i][j];
* * * * n_min=i;
* * * * m_min=j;}
printf(Rus("минимальный *элемент массива равен числу =%6.2f\n\n\n"), min); *
fflush(stdin);
* * getchar();
* * return(0);
}
Poring
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 9
01.03.2013, 00:47     В двухмерном массиве с целыми коэффициентами, для каждого столбца найти минимальный элемент в этом столбце и индекс этого элемента. #12
olya7, спасибо вам, значит ошибка была в том, что я не задал начальное минимальное значение?
а вывод всех минимальных чисел дублированием %6.2f выводить? далее с суммой минимальных, это вводим переменную, например N, делаем её равной 0 перед циклом а далее
C++
1
2
3
4
5
{
min=B[i][j];
* * * * n_min=i;
* * * * m_min=j;
******N=N*B[i][j]}
как то так?
olya7
476 / 293 / 91
Регистрация: 18.02.2013
Сообщений: 684
01.03.2013, 01:11     В двухмерном массиве с целыми коэффициентами, для каждого столбца найти минимальный элемент в этом столбце и индекс этого элемента. #13
Цитата Сообщение от Poring Посмотреть сообщение
всех минимальных чисел
как-то минимум то один может быть... или вам надо организовать минимумы по строкам\столбцам?
Poring
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 9
01.03.2013, 07:39     В двухмерном массиве с целыми коэффициентами, для каждого столбца найти минимальный элемент в этом столбце и индекс этого элемента. #14
olya7, да, именно так, для каждой строки, а затем их произведение
olya7
476 / 293 / 91
Регистрация: 18.02.2013
Сообщений: 684
01.03.2013, 16:02     В двухмерном массиве с целыми коэффициентами, для каждого столбца найти минимальный элемент в этом столбце и индекс этого элемента. #15
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
#include<stdio.h> 
#include<conio.h>
#include<math.h>
#include<windows.h>
char bufRus[256];
char* Rus(const char*text)
{
    CharToOem(text, bufRus);
    return bufRus;
}
main()
{
   int i, j, m, n, n_min, m_min;
   float **B , min,p=1;
 
   printf (Rus(" Ââåäèòå ÷èñëî ñòðîê ГЁ ñòîëáöîâ \n")); 
   scanf ("%d %d", &n, &m);
   B=new float *[n];
   for(i=0; i<n; i++)
       B[i]=new float [m];
 
   for(i=0; i<n; i++)
     for(j=0; j<m; j++)
     {
       printf(Rus("Ââåäèòå B[%d, %d]="), i, j);
       scanf("%f", &B[i][j]);
     }
 
puts(Rus("ГЊГ*òðèöГ* B:"));
  for(i=0;i<n;i++)
    { 
      for(j=0;j<m;j++)
      printf("%8.2f",B[i][j]);
      printf("\n");
    }
    
    
  
  for(i=1;i<n;i=i+2)//ìû çäåñü èäåì ГЇГ® ГўГ±ГҐГ¬ Г*ГҐГ·ГҐГІГ*ûì ñòðîêГ*Г¬.. ГЅГІГ® ГІГ*ГЄ ГЁ Г*Г*äî... åñëè ГјГёГІ ГЇГ® ГўГ±ГҐ Г¬ ñòðîêГ*Г¬, ГІГ® for(i=0;i<n;i++)
  {
      min=B[i][0];
   for(j=0;j<m;j++)
       if (B[i][j]<min)
       {
    
    
        min=B[i][j];
        n_min=i;
        m_min=j;}
        
        
   printf(Rus("ìèГ*ГЁГ¬Г*ëüГ*ûé  ГЅГ«ГҐГ¬ГҐГ*ГІ ñòðîêè Г°Г*ГўГҐГ* ÷èñëó =%6.2f\n\n\n"), min);   
   p*=min;
  }
 printf(Rus("ïðîèçâåäåГ*ГЁГҐ =%6.2f\n\n\n"), p);   
 for(i=0; i<n; i++)
     delete []B[i];
 delete []B;
 
    fflush(stdin);
    getchar();
    return(0);
}
Poring
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 9
01.03.2013, 19:44     В двухмерном массиве с целыми коэффициентами, для каждого столбца найти минимальный элемент в этом столбце и индекс этого элемента. #16
olya7, Спасибо ещё раз) В принципе такой код и вышел до этой строки
C++
1
 printf(Rus("произведение =%6.2f\n\n\n"), p);
только вот
C++
1
2
3
4
 for(i=1;i<n;i=i+2)//мы здесь идем по всем нечетным строкам.. это так и надо... если ьшт по все м строкам, то for(i=0;i<n;i++)
  {
      min=B[i][0];
   for(j=[COLOR="Red"]1[/COLOR];j<m;j++)
, я правда толком не понял почему, что бы не сравнивало с 1 элементом столбца что ле, преподаватель объясняла, но я не совсем понял
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.03.2013, 19:49     В двухмерном массиве с целыми коэффициентами, для каждого столбца найти минимальный элемент в этом столбце и индекс этого элемента.
Еще ссылки по теме:

C++ В каждой строке найти минимальный элемент, затем среди них найти максимальное и вывести на экран индекс этого элемента
Дана матрица. Найти максимальный и минимальный Элемент каждого столбца C++
C++ Найти максимальный и минимальный элемент каждого столбца и строки матрицы

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

Или воспользуйтесь поиском по форуму:
olya7
476 / 293 / 91
Регистрация: 18.02.2013
Сообщений: 684
01.03.2013, 19:49     В двухмерном массиве с целыми коэффициентами, для каждого столбца найти минимальный элемент в этом столбце и индекс этого элемента. #17
Цитата Сообщение от Poring Посмотреть сообщение
min=B[i][0];
чтобы не выйти за диапазон значений строки
Yandex
Объявления
01.03.2013, 19:49     В двухмерном массиве с целыми коэффициентами, для каждого столбца найти минимальный элемент в этом столбце и индекс этого элемента.
Ответ Создать тему
Опции темы

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