Сделайте программу в Паскале формирования начального одномерного целочисленного массива
Сделайте программку в Паскале формирования начального одномерного целочисленного массива случайным образом в файле input.txt.
Отсортированный начальный массив по возрастанию и по убыванию записывается в виде 2-ух таблиц в файл output.txt
2 ответа
Руслан Скутар
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] gt; 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.
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] gt; 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.
Данька
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]lt;A[imin] then
imin:=i;
writeln('imin=',imin);
if imingt;n-2 then write('Частей для сортировки нет!')
else
begin
for i:=imin+1 to n-1 do
for j:=i+1 to n do
if A[i]lt;A[j] then
begin
buf:=A[i];
A[i]:=A[j];
A[j]:=buf;
end;
writeln('Элементы после малого отсортированы по убыванию:');
for i:=1 to n do
write(A[i],' ');
end;
end.
проверь
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]lt;A[imin] then
imin:=i;
writeln('imin=',imin);
if imingt;n-2 then write('Частей для сортировки нет!')
else
begin
for i:=imin+1 to n-1 do
for j:=i+1 to n do
if A[i]lt;A[j] then
begin
buf:=A[i];
A[i]:=A[j];
A[j]:=buf;
end;
writeln('Элементы после малого отсортированы по убыванию:');
for i:=1 to n do
write(A[i],' ');
end;
end.
проверь
Буряцкая
Антонина
1. Для чего отыскивать минимум в серии? 2) Сортировок обязано быть две 3) Ввод идет из файла и вывод идет в два файла. Как результат: Вы убеждены, что решали это задание а не иное?
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
10) Килограмм конфет дороже килограмма печенья на 52 р. За 8
Математика.
Во сколько раз число атомов кислорода в земной коре больше числа
Химия.
Облако тегов