Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
the_maxx
0 / 0 / 0
Регистрация: 16.11.2009
Сообщений: 30
#1

Определить количество строк, не содержащих ни одного нулевого элемента

07.12.2009, 21:14. Просмотров 1275. Ответов 7
Метки нет (Все метки)

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

P.S. По правилам Сайберфорума я искал вышеописанное задание, но нашел решения только для C++. К сожалению, я с ним не знаком..Помогите, пожалуйста, на Pascalе.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2009, 21:14
Ответы с готовыми решениями:

Матрица. Определить количество строк, не содержащих ни одного нулевого элемента
Дана целочиленая матрица размером m * n.Определить количество строк, не...

Определить количество строк массива, не содержащих ни одного нулевого элемента
Определить количество строк, не содержащих ни одного нулевого элемента,...

Определить количество строк матрицы, не содержащих ни одного нулевого элемента
Задание: Целочисленная прямоугольная матрица заполняется с помощью генератора...

Определить количество столбцов, не содержащих ни одного нулевого элемента
Задание: Целочисленная прямоугольная матрица заполняется с помощью генератора...

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

7
yanyk1n
4331 / 1463 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
07.12.2009, 21:23 #2
Pascal
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
uses crt;
const n=5; m=4;
var a:array[1..n,1..m]of integer;
i,j,k:integer;
f:boolean;
begin
 clrscr; 
 randomize;
 for i:=1 to n do
 begin
  for j;=1 to m do
  begin
   a[i,j]:=random(100);
   write(a[i,j]:3);
  end;
 writeln;
 end;
 
k:=0;
 
for i:=1 to n do
begin 
 f:=true;
 for j:=1 to m do if m[i,j]=0 then
 begin
  f:=false;
  break;
 end;
 if f then inc(k);
end;
 
 writeln('Всего таких строк - ',k);
 readln;
end.
0
the_maxx
0 / 0 / 0
Регистрация: 16.11.2009
Сообщений: 30
07.12.2009, 21:33  [ТС] #3
Спасибо, но паскаль выдает ошибку в месте (24 строка кода)
Pascal
1
if m[i,j]=0 then
invalid qualifier
0
TAVulator
3953 / 1112 / 160
Регистрация: 27.07.2009
Сообщений: 3,457
07.12.2009, 21:36 #4
the_maxx, там a[i,j] должно быть.
0
Sarmak
58 / 57 / 5
Регистрация: 01.12.2009
Сообщений: 177
07.12.2009, 21:39 #5
1.
Delphi
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
const 
  M = 100;
  N = 100;
var
  a:array[1..MaxN,1..MaxM] of real;
  n,m,i,s:integer;
  k:array[1..MaxN] of  boolean;
begin
  readln(n);
  readln(m);
  writeln('Введите матрицу ');
  for i := 1 to n do
    for j := 1 to m do
      read(a[i,j]);
  readln;
   for i := 1 to n do
     begin
    k := true;
    j:=1;
      while (j<=m) do
        if (a[i,j]=0) then k[i] := false;
        inc(j);
      end;
      if not k[i] then q:q+1;
  end;
end.
0
the_maxx
0 / 0 / 0
Регистрация: 16.11.2009
Сообщений: 30
08.12.2009, 19:15  [ТС] #6
Спасибо! А как 2 пункт сделать?
0
Puporev
Модератор
54412 / 41983 / 28996
Регистрация: 18.05.2008
Сообщений: 98,902
09.12.2009, 09:49 #7
Pascal
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
uses crt;
const nmax=20;
var a:array[1..nmax,1..nmax] of integer;
    n,m,i,j,k,imx,jmx,f,p:byte;
    mx,mn:integer;
begin
clrscr;
randomize;
repeat
write('Количество строк=');
readln(m);
until m in [1..nmax];
repeat
write('Количество столбцов=');
readln(n);
until n in [1..nmax];
writeln('Введите ',n*m,' элементов матрицы:');
writeln('Исходная матрица:');
for i:=1 to m do
 begin
   for j:=1 to n do
    begin
     a[i,j]:=random(10)-4;
     write(a[i,j]:4);
    end;
   writeln;
 end;
writeln;
{подсчет строк без нолей}
k:=m;
for i:=1 to m do
for j:=1 to n do
if a[i,j]=0 then
 begin
  k:=k-1;
  break;
 end;
writeln('Количество строк без нолей=',k);
{находим минимум}
mn:=a[1,1];
for i:=1 to m do
for j:=1 to n do
if a[i,j]<mn then  mn:=a[i,j];
f:=0;p:=0;
repeat{цикл поиска первого макс > 1 раза}
k:=0;
{находим максимальный}
mx:=a[1,1];imx:=1;jmx:=1;
for i:=1 to m do
for j:=1 to n do
if a[i,j]>mx then
   begin
    mx:=a[i,j];
    imx:=i;
    jmx:=j;
   end;
{ищем равный ему}
for i:=1 to m do
for j:=1 to n do
if (a[i,j]=mx)and((i<>imx)or(j<>jmx))and(a[i,j]<>mn-1) then
 begin
  k:=1;
  f:=1;
 end;
if k=0 then{если не нашли}
  begin
   a[imx,jmx]:=mn-1;{меняем макс элемент на число меньше минимума}
   p:=p+1;{считаем число попыток}
  end;
until (k=1)or(p=m*n-1);{если нашли, или остался
только 1 непроверенный элемент, заканчиваем}
if f=0 then write('Все элементы по 1 разу')
else write('Первый максимальный более 1 раза=',mx);
readln
end.
0
Давид
Программист 1С
856 / 644 / 187
Регистрация: 03.03.2009
Сообщений: 1,154
11.12.2009, 14:35 #8
the_maxx, Вот блок схема - как просил!
1
Вложения
Тип файла: rar shem.rar (19.5 Кб, 41 просмотров)
11.12.2009, 14:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2009, 14:35

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

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

Определить кол-во столбцов, не содержащих ни одного нулевого элемента
Дана целочисленная прямоугольная матрица. Определить кол-во столбцов, не...


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

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

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