М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
ксюша1647
ксюша1647
22.09.2021 05:22 •  Информатика

Вдвоичной матрице размером 10х10 найти строки. на pascalabc

👇
Ответ:
aleksandrbersh0
aleksandrbersh0
22.09.2021
Procedure sovp;
var
  i, j, r, c: byte;
  ar: array[1..10, 1..10]of byte;
  s: array[1..4] of string;
  b: boolean;
label l1;
 begin
  r := random(2, 3);
  l1:
  c := 1;
  b := false;
  for i := 1 to 10 do
    for j := 1 to 10 do
    begin
    ar[i, j] := random(0, 1);
    if(i < 5) then s[i] := '';
    end;
     for i := 1 to 9 do
      begin
       for j := 1 to 10 do
       begin
        if(ar[i, j] <> ar[i + 1, j]) then b := true;
       end;
      if(b = false) then
     begin
      s[c] := i + ' строка совпалает с ' + (i + 1) + ' строкой';
      c := c + 1;
     end;
    b := false;
  end;
 if(c <> r) then goto l1
  else
  begin
    for var k := 1 to c do if(k<>c)then writeln(s[k]);
    for i := 1 to 10 do
    begin
      for j := 1 to 10 do write(ar[i, j], ' ');
        writeln;
    end;
  end;
   end;
 begin
  sovp;
end. 
4,8(94 оценок)
Открыть все ответы
Ответ:
almiradkzbd
almiradkzbd
22.09.2021
Решение №1 (без массивов)

var a,n,i,j,s:integer;
begin
  writeln('Введите количество цифр в числе');
  readln(n);
  for i:=1 to n do begin
    writeln('Введите ',i,' цифру из ',n);
    readln(a);
    for j:=1 to n-i do a:=a*10;
    s:=s+a;
  end;
  writeln('Натуральное число: ',s);
end.

Тестовое решение

Введите количество цифр в числе
5
Введите 1 цифру из 5
9
Введите 2 цифру из 5
2
Введите 3 цифру из 5
7
Введите 4 цифру из 5
3
Введите 5 цифру из 5
1
Натуральное число: 92731

Решение №2 Если очень надо использовать массив (хотя на мой взгляд совсем не нужно)

//PascalABC.NET (версия 3.1, сборка 1198)
var a,n,i,j,s:integer;
mas:array[1..10]of integer;
begin
  writeln('Введите количество цифр в числе');
  readln(n);
  for i:=1 to n do begin
    writeln('Введите ',i,' цифру из ',n);
    readln(mas[i]);
    a:=mas[i];  
    for j:=1 to n-i do a:=a*10;
    s:=s+a;
  end;
  writeln('Натуральное число: ',s);
end.

Тестовое решение

Введите количество цифр в числе
5
Введите 1 цифру из 5
5
Введите 2 цифру из 5
4
Введите 3 цифру из 5
3
Введите 4 цифру из 5
2
Введите 5 цифру из 5
2
Натуральное число: 54322
4,7(95 оценок)
Ответ:
aimuratsergei1234
aimuratsergei1234
22.09.2021
Для того, чтобы эта программа заработала надо добавить перед описанием процедуры F следующую строчку:
procedure G(n: integer);forward;
Так как в процедуре F есть вызов процедуры G описанной дальше по тексту программы.
После исправления кода и запуска программы с F(12) получим 17 звездочек. По шагам это будет выглядеть так:

 Вызов процедуры F и выполнение
* n = 12
* n = 12
Вызов процедуры G и выполнение
* n = 11
* n = 11
Вызов процедуры F и выполнение
* n = 9
* n = 9
Вызов процедуры G и выполнение
* n = 8
* n = 8
Вызов процедуры Fи выполнение
* n = 6
* n = 6
Вызов процедуры G и выполнение
* n = 5
* n = 5
Вызов процедуры F и выполнение
* n = 3
* n = 3
Вызов процедуры G и выполнение
* n = 2
* n = 2
Вызов процедуры F и выполнение
* n = 0

Ниже записаны две рекурсивные функции (процедуры): f и g.сколько символов «звёздочка» будет напечата
4,5(46 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ