0 / 0 / 0
Регистрация: 16.11.2009
Сообщений: 30
1

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

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

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

P.S. По правилам Сайберфорума я искал вышеописанное задание, но нашел решения только для C++. К сожалению, я с ним не знаком..Помогите, пожалуйста, на Pascalе.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.12.2009, 21:14
Ответы с готовыми решениями:

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

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

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

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

7
4341 / 1473 / 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
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
Эксперт по компьютерным сетямЭксперт Pascal/Delphi
4188 / 1289 / 237
Регистрация: 27.07.2009
Сообщений: 3,961
07.12.2009, 21:36 4
the_maxx, там a[i,j] должно быть.
0
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
0 / 0 / 0
Регистрация: 16.11.2009
Сообщений: 30
08.12.2009, 19:15  [ТС] 6
Спасибо! А как 2 пункт сделать?
0
Почетный модератор
64288 / 47587 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
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С
859 / 647 / 187
Регистрация: 03.03.2009
Сообщений: 1,154
11.12.2009, 14:35 8
the_maxx, Вот блок схема - как просил!
Вложения
Тип файла: rar shem.rar (19.5 Кб, 50 просмотров)
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.12.2009, 14:35
Помогаю со студенческими работами здесь

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

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

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru