Создайте программу в Паскале формирования исходного одномерного целочисленного массива...

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

Создайте программу в Паскале формирования исходного одномерного целочисленного массива случайным образом в файле input.txt.
Отсортированный исходный массив по возрастанию и по убыванию записывается в виде двух таблиц в файл output.txt


Информатика (20 баллов) | 39 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

Const
  nn= 50;
var
  a:array[1..nn] of integer;
  i,j,k,n: integer;
  f:Text;
begin
  Write('Введите количество чисел: '); Read(n);
  { Формирование входного файла }
  Randomize;
  Assign(f,'input.txt'); Rewrite(f);
  for i:=1 to n do
  begin k:=Random(50); Writeln(f,k) end;
  Close(f);
  { Чтение входного файла в массив и вывод }
  Reset(f);
  Writeln('Элементы массива');
  for i:=1 to n do
  begin Readln(f,a[i]); Write(a[i]:3) end;
  Close(f);
  Writeln;
  { Сортировка по возрастанию методом пузырька }
  for i := 1 to n-1 do
    for j := 1 to n-i do
      if a[j] > a[j+1] then
      begin k := a[j]; a[j] := a[j+1]; a[j+1] := k end;
  { Вывод в файл в порядке возрастания }
  Assign(f,'output.txt');
  Rewrite(f);
  for i:=1 to n do Write(f,a[i]:3);
  Writeln(f);
  { Вывод в файл в порядке убывания }
  for i:=n downto 1 do Write(f,a[i]:3);
  Writeln(f);
  Close(f)
end. 
 

(142k баллов)
0 голосов

Program odnomernui_massuv;
uses crt;
var A:array[1..100] of integer;
    n,i,j,imin: byte;
    buf:integer;
begin
write('Размер массива от 1 до 100 n=');
readln(n);
//ручной ввод массива
writeLn('Вводим элементы массива A:');
for I:=1 TO N do
 begin
  write('A[',i,']=');
  readLn (A[i]);
 end;
//Вывод массива до изменения
writeLn('исходный массив  A:');
for i:=1 to N do
write (A[i]:5);
writeLn;
//поиск минимума в серии
imin:=1;
for i:=1 to N do
if A[i]imin:=i;
writeln('imin=',imin);
if imin>n-2 then write('Элементов для сортировки нет!')
else
 begin
  for i:=imin+1 to n-1 do
  for j:=i+1 to n do
  if A[i]
   begin
    buf:=A[i];
    A[i]:=A[j];
    A[j]:=buf;
   end;
  writeln('Элементы после минимального отсортированы по убыванию:');
  for i:=1 to n do
  write(A[i],' ');
 end;
end.

проверь

(83 баллов)
0

1. Зачем искать минимум в серии? 2) Сортировок должно быть две 3) Ввод идет из файла и вывод идет в два файла. Как итог: Вы уверены, что решали это задание а не другое?