В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
7IX
7IX
02.06.2020 08:12 •  Информатика

В программах и алгоритмах могут встретиться следующие виды ошибок (выберите один или несколько верных вариантов): *
эмпирические
синтаксические
логические
феерические
среди перечисленных нет ни одного верного ответа

Показать ответ
Ответ:
MARZHIVANKINA
MARZHIVANKINA
01.03.2023 15:45
Const
    N = 10;

var
    A: array[1..N] of integer;

function Fun: integer;
var
    i, M: integer;
begin
    writeln('Введите число M=');
    readln(M);
    for i := 1 to N do
        if A[i] = M then Fun := i;
end;

procedure CreateMassive;
var
    i: integer;
begin
    for i := 1 to N do
    begin
        A[i] := Random(199) - 100;
        write(A[i],' ');
    end;
    Writeln;
end;

begin
    CreateMassive;
    Writeln(Fun);
end.

вот вариант исправления который работает, хотя конечно не факт что он работает как там кто-то задумывал)))
не понятно было назначение функции Fun потому она делает поиск номера элемента равного М
а вообще глобальные переменные это зло. Так что проектирование тут в корне не верно
0,0(0 оценок)
Ответ:
Dilnaz10011
Dilnaz10011
12.02.2023 06:01
// PascalABC.NET 3.1, сборка 1250 от 28.05.2016
procedure MatInput(a:array[,] of integer);
begin
  Writeln('Вводите элементы матрицы построчно, в конце нажимая Enter');
  for var i:=0 to Length(a,0)-1 do begin
    Write(i+1,': ');
    for var j:=0 to Length(a,1)-1 do Read(a[i,j]);
    end
end;

procedure MatPrint(a:array[,] of integer);
begin
  for var i:=0 to Length(a,0)-1 do begin
    for var j:=0 to Length(a,1)-1 do Print(a[i,j]);
    Writeln
    end
end;

function IsEqual(a:array[,] of integer; j1,j2:integer;
  flag:array of boolean):boolean;
// равны ли столбцы с индексами j1 и j2
begin
  if flag[j2]=False then begin
    Result:=True;
    for var i:=0 to Length(a,0)-1 do
      if a[i,j1]<>a[i,j2] then begin Result:=False; Break end;
    flag[j2]:=Result
    end
end;

begin
  var n:=ReadInteger('Задайте число строк (столбцов) матрицы:');
  var a:array[,] of integer;
  var m:=ArrFill(n,False);
  SetLength(a,n,n);
  MatInput(a);
  Writeln('*** Принятая матрица ***');
  MatPrint(a);
  var k:=1;
  for var i:=0 to n-2 do
    for var j:=i+1 to n-1 do
      if IsEqual(a,i,j,m) then Inc(k);
  if k>1 then Writeln('Количество совпадающих столбцов равно ',k)
  else Writeln('нет совпадающих столбцов')
end.

Тестовое решение
Задайте число строк (столбцов) матрицы: 3
Вводите элементы матрицы построчно, в конце нажимая Enter
1: 1 2 2
2: 3 5 5
3: 2 2 2
*** Принятая матрица ***
1 2 2
3 5 5
2 2 2
Количество совпадающих столбцов равно 2
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота