Вернуться   Компьютерный форум > Компьютеры > Программы > Программирование
 
 
Опции темы
Старый 13.04.2015, 19:57   #1 (ссылка)
Новичок
 
Регистрация: 14.02.2015
Сообщений: 28
Репутация: 0
По умолчанию Помогите написать программу на паскале

Напишите программу, которая сортирует первую половину массива по возрастанию, а вторую по убыванию.Массив заполнен случайными числа от 0 до 500длинна массива 100 элементов.Массив одномерный Примечание: Элементы с первой половины массива не должны попадать во вторую половину.

---------- Добавлено в 19:57 ---------- Предыдущее сообщение было написано в 18:52 ----------

program n32;
var x,i:integer;
a:array [1..100] of integer;
begin
for i:=1 to 100 do a[i]:= random (500);
for i:=1 to 100 do
writeln ('a[,i,]=',a[i]);
begin
for i:=1 to 50 do
if a[i]>a[i+1] then

x:=a[i];
a[i]:=a[i+1];
a[i+1]:=x;
end;
for i:=1 to 50 do
Write ( a [ i ],' ');
end.


исправьте ошибка
Stop вне форума  
Старый 14.04.2015, 00:26   #2 (ссылка)
Новичок
 
Регистрация: 14.02.2015
Сообщений: 28
Репутация: 0
По умолчанию

program n32;
var y,x,j,imin,imax,i:integer;
a:array [1..100] of integer;
begin
for i:=1 to 100 do a[i]:= random (500);
for i:=1 to 100 do
write ('a[, ,]=',a[i]);
for i:=1 to 49 do
begin
imax:=i;
for j:=i+1 to 50 do
if a[j]>a[imax] then imax:=j;
x:=a[i];
a[i]:=a[imax];
a[imax]:=x;
end;

for i:=51 to 99 do
begin
imin:=i;
for j:=i+1 to 100 do
if a[j]<a[imin] then imin:=j;
y:=a[i];
a[i]:=a[imin];
a[imin]:=y;
end;
for i:=1 to 100 do writeln('a[,массив ,]=',a[i]);
end.
Прогу написал, вроде бы работает.Только вот хочу добавить эстетики..как мне вывести пронумерованный массив?
Stop вне форума  
Старый 15.04.2015, 15:49   #3 (ссылка)
Новичок
 
Регистрация: 21.11.2009
Сообщений: 486
Репутация: 47
По умолчанию

Stop, можно, например, так:

Код:
program n32;
var y,x,j,imin,imax,i:integer;
a:array [1..100] of integer;
begin
for i:=1 to 100 do a[i]:= random (500);
for i:=1 to 100 do
write ('a[, ,]=',a[i]);
for i:=1 to 49 do
begin
imax:=i;
for j:=i+1 to 50 do
if a[j]>a[imax] then imax:=j;
x:=a[i];
a[i]:=a[imax];
a[imax]:=x;
end;

for i:=51 to 99 do
begin
imin:=i;
for j:=i+1 to 100 do
if a[j]<a[imin] then imin:=j;
y:=a[i];
a[i]:=a[imin];
a[imin]:=y;
end;
for i:=1 to 100 do writeln(i,'. ','a[,массив ,]=',a[i]);
Readln;
end.
sheff-09 вне форума  
Ads
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите написать программу в С++(в консоли) или в Паскале. Очень срочно нужно. Registr Программирование 2 27.09.2012 14:58
помогите пожалуйста написать программу , в паскале mitya Программирование 1 19.05.2011 20:57
Помогите написать в паскале? GFF77 Программирование 1 12.04.2011 18:47
Помогите написать программу на Паскале katerunechka Программирование 0 09.03.2011 21:00


Текущее время: 04:23. Часовой пояс GMT +4. Powered by vBulletin® Version 5.8.9
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.