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

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

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

двумерные массивы(задача) - C++

31.10.2013, 14:07. Просмотров 289. Ответов 1
Метки нет (Все метки)

прошу помочь с задачей.вот текст задачи

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

1) количество строк, содержащих хотя бы один нулевой элемент;

2)номер столбца, в котором находится самая длинная серия одинаковых элементов.

есть решение практически аналогичной задачи текст которой звучит так:
Дана целочисленная прямоугольная матрица. Определить:

1) количество строк, не содержащих ни одного нулевого элемента;

2) максимальное из чисел, встречающихся в заданной матрице более одного раза.


ее решение вот:
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
#include <iostream>
 
#include <iomanip>
 
#include <conio.h>
 
#include <math.h> 
 
using namespace std; 
 
int main()
 
{ 
 
const int n = 5, m = 6; 
 
int a[n][m] = {{1, 2, -3, 4, 5, 6}, 
 
{3, 0, 3, 3, 3, 2}, 
 
{1, -12, 1, 4, 5, 8}, 
 
{1, 7, 8, -1, 2, -3}, 
 
{2, 2, 2, 2, 2, 15}}; 
 
int i, j; 
 
for (i = 0; i < n; i++)
 
{
 
for (j = 0; j < m; j++) 
 
cout << setw(4) << a[i][j]; 
 
cout << endl; 
 
} 
 
//Определить количество строк, не содержащих ни одного нулевого элемента; 
 
bool bl; 
 
int kol = 0; 
 
for (i = 0; i < n; i++) 
 
{ 
 
bl = true; 
 
for (j = 0; j < m; j++) 
 
if (a[i][j] == 0) { bl = false; break;} 
 
if(bl) kol++; 
 
}
 
if(kol) cout << "Kol string: " << kol << endl; 
 
else cout << "String not" << endl; 
 
//Определить максимальное из чисел, встречающихся в заданной матрице более одного раза; 
 
int max=-1000; 
 
for (i = 0; i < n; i++) 
 
for (j = 0; j < m; j++) 
 
{ 
 
bl=false; 
 
int k = a[i][j]; 
 
if (k > max) 
 
for (int i1 = 0; i1 < n; i1++) 
 
{ 
 
for (int j1 = 0; j1 < m; j1++) 
 
if ((i != i1 || j != j1) && k == a[i1][j1]) {bl = true; break;} 
 
if (bl) break; 
 
} 
 
if (bl) max = k; 
 
} 
 
cout << "Number: " << max << endl; 
 
_getch(); 
 
return 0; 
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2013, 14:07     двумерные массивы(задача)
Посмотрите здесь:

C++ Довольно Трудная задача(Двумерные массивы)
_itoa() и двумерные массивы C++
Двумерные массивы (+символьные) C++
C++ Язык с++ двумерные массивы.
Задача на двумерные массивы... C++
C++ Malloc. Двумерные массивы
Двумерные массивы.Задача на формирование массивов C++
C++ Двумерные массивы.(доработка)
Задача на двумерные массивы C++
Задача по теме Двумерные массивы C++
Задача на двумерные массивы C++
C++ Задача на двумерные массивы (найти ошибку)

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
31.10.2013, 14:35     двумерные массивы(задача) #2
d1esel, хмм, ну дк заводите доп переменную, где будет храниться число строк. Если находите в строке, то прибавляете к переменной 1 и уходите на следующую строку.
Yandex
Объявления
31.10.2013, 14:35     двумерные массивы(задача)
Ответ Создать тему
Опции темы

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