Определить имеется ли в двумерном целочисленном массиве заданном с помощью генератора...

0 голосов
125 просмотров

Определить имеется ли в двумерном целочисленном массиве заданном с помощью генератора случайных чисел в диапазоне (-111;200) значение элемента равного В(В свое видимо задавать)


Информатика (17 баллов) | 125 просмотров
0

Язык какой?

0

-111 и 200 входят в диапазон?

0

да

Дан 1 ответ
0 голосов
Правильный ответ

Const
n=10;m=7;
var
a:array[1..n,1..m]of integer;
flag,i,j,b:integer;
begin
     for i:=1 to n do
         begin
             writeln;
                 for j:=1 to m do
                      begin
                        a[i,j]:=random(312)-111;
                        write(a[i,j]:4);
                      end;
            end;
writeln;
Writeln('B ?');
readln(b);
for i:=1 to n do
  for j:=1 to m do
      if a[i,j]=b then
          flag:=1;
if flag=1 then
   writeln('Yes')
else
   writeln('N');
end.

вариант 2
const
n=10;m=7;
var
a:array[1..n,1..m]of integer;
k,i,j,b:integer;
begin
     for i:=1 to n do
         begin
             writeln;
                 for j:=1 to m do
                      begin
                        a[i,j]:=random(312)-111;
                        write(a[i,j]:4);
                      end;
            end;
writeln;
Writeln('B ?');
readln(b);
for i:=1 to n do
  for j:=1 to m do
      if a[i,j]=b then
          k:=k+1;
if k<>0 then
   writeln('Yes')
else
   writeln('N');
end.

(9.6k баллов)
0

Спасибо за помощь конечно! Но это немного не подходит...

0

Это почему?

0

Ну у нас как то все проще, я не знаю как обьяснить! Но все равно псасибо огромное!

0

А проще и не получится. Я так думаю. В одном цикле массив заполняется с помощью случайных чисел. В другом цикле просто проверяется наличие этого В. Можно вместо переменной Flag подсчитывать количество чисел равных В.

0

Сделала еще один вариант задания

0

program q;
uses crt;
var a:array[1..100,1..100]of integer;
b,n,m,i,j:integer;
begin
randomize;
write ('n=');read(n);
write ('m=');read(m);
for i:=1 to n do begin
for j:=1 to m do begin
a[i,j]:=random(422)+200;
write (a[i,j],' ');
end;
writeln;
end;
for i:=1 to n do begin
writeln ('b=',b);
for j:=1 to m do begin
if a[i,j]=b then b:=468;
end;end;end. что то вроде такого,это Pascal ABC. Я то дуб в нем... Беда моя это.

0

Во-первых у Вас диапазон чисел от 200 до 621

0

Во-вторых где вывод на экран есть такое B или нет?

0

Зачем n раз выводить на экран "b=" ,b? Как-то все странно это