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

Нужно написать программу процедура сравнения типизированного файла(имя: f1.dat) и целочисленного массива.структура файла: х-целое у-вещественное. сравнение осуществляется поэлементно(1-ый элемент массива сравнивается со значением х 1-ой записи все значения совпали,то процедура возвращает строку true иначе false.

👇
Ответ:
111mart111
111mart111
16.01.2023
// PascalABC.NET 3.3, сборка 1625 от 17.01.2018
// Внимание! Если программа не работает, обновите версию!

type
  tt=record
    x:integer;
    y:real
  end;

procedure Compare(f:file of tt; a:array of integer; var r:string);
begin
  r:='true';
  if f.FileSize<>a.Length then begin
    Writeln('Размер массива не соответствует количеству записей файла');
    r:='false';
    exit
    end;
  f.Seek(0);
  var t:tt;
  for var i:=0 to a.Length-1 do begin
    Read(f,t);
    if t.x<>a[i] then begin
      r:='false';
      exit
      end
    end
end;

begin
  var f:file of tt;
  var n:=ReadInteger('n=');
  Writeln('Введите ',n,' значений для сравнения');
  var a:=ReadArrInteger(n);
  var good:='';
  Assign(f,'f1.dat'); Reset(f);
  Compare(f,a,good);
  Writeln(good);
  f.Close
end.

Внимание! Поскольку входной файл не был представлен, программа не тестировалась! Проверена лишь компиляция программы.
4,7(15 оценок)
Открыть все ответы
Ответ:
laura103
laura103
16.01.2023
// PascalABC.Net 3.0, сборка 1088
const
  n=30;
var
  a:array[1..n] of integer;
  i,k:integer;
begin
  Randomize;
  Writeln('*** Исходный массив ***');
  k:=0;
  for i:=1 to n do begin
    a[i]:=Random(1001);
    Write(a[i],' ');
    if (a[i] mod 3 = 0) and (a[i] mod 10 = 1) then Inc(k)
  end;
  Writeln;
  Writeln('Количество найденных элементов равно ',k)
end.

Тестовое решение:
*** Исходный массив ***
503 187 764 452 351 819 339 940 681 369 938 874 639 212 633 825 983 830 121 801 889 36 479 14 357 382 631 8 402 61
Количество найденных элементов равно 3
4,4(96 оценок)
Ответ:
12R34O56M78A
12R34O56M78A
16.01.2023
// PascalABC.Net 3.0, сборка 1088
const
  n=6;
var
  a:array[1..n] of integer;
  i:integer;
begin
  Randomize;
  Writeln('*** Исходный массив ***');
  for i:=1 to n do begin
    a[i]:=Random(1001);
    Write(a[i],' ');
  end;
  Writeln;
  Writeln('*** Результат ***');
  Write(a[1],' ');
  for i:=2 to n-1 do begin
    if Odd(a[i]) then a[i]:=a[i]+a[n]
    else a[i]:=a[i]+a[1];
    Write(a[i],' ');
  end;
  Writeln(a[n])
end.

Тестовое решение:
*** Исходный массив ***
706 46 715 899 103 308
*** Результат ***
706 752 1023 1207 411 308
4,6(67 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ