Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2007, 19:24   #1
Side Unseen
Новичок
Джуниор
 
Аватар для Side Unseen
 
Регистрация: 30.10.2007
Сообщений: 2
По умолчанию Решите задачу на Паскале пожалуйста!

задача вроде как не очень сложная, но у меня каждый раз получается какая-то ерунда, уже 2 недели не могу сдать и без неё полусем не поставят(( Очень прошу помощи!

Ввести целочисленный массив и сформировать новый массив, в котором сначала идёт 2ая половина исходного массива, записанная в обратном порядке, а затем первая половина исходного массива, отсортированная по убыванию
Side Unseen вне форума Ответить с цитированием
Старый 30.10.2007, 19:28   #2
Tayfun
Форумчанин
 
Аватар для Tayfun
 
Регистрация: 24.06.2007
Сообщений: 351
По умолчанию

Нбольшое уточнение... Массив я так понял состоит из 2*n Эллементов( Четное количество)-?
Я не маюсь бездельем, я от него тащусь!
Tayfun вне форума Ответить с цитированием
Старый 30.10.2007, 19:45   #3
Tayfun
Форумчанин
 
Аватар для Tayfun
 
Регистрация: 24.06.2007
Сообщений: 351
По умолчанию

Если все же моя мысля с четностью колличества элементов верна то вот
Код:
program massiv;
uses crt;
const max_n=100;
var
c,b,a:array[1..2*max_n] of integer;
n,j,i,t:integer;
begin
clrscr;
writeln('VVEDITE n');
readln(n);
randomize;
for i:=1 to 2*n do begin
a[i]:=random(10);
write(a[i],' ');
end;
writeln;
for i:=n downto 1 do begin
c[i]:=a[i];
b[n-i+1]:=a[i+n];
end;

for i:=1 to n do
a[i]:=b[i];

for i:=1 to n do
b[i]:=c[i];

for i:=1 to n-1 do
for j:=i+1 to n do
if b[i]<b[j] then begin t:=b[j]; b[j]:=b[i]; b[i]:=t; end;

for i:=1 to n do
a[i+n]:=b[i];

for i:=1 to 2*n do write(a[i],' ');
readkey;
end.
Я не маюсь бездельем, я от него тащусь!
Tayfun вне форума Ответить с цитированием
Старый 30.10.2007, 20:12   #4
Side Unseen
Новичок
Джуниор
 
Аватар для Side Unseen
 
Регистрация: 30.10.2007
Сообщений: 2
По умолчанию

Спасибо большое!!!

чётность или нечётность не оговорена в условии, но если подразумевается деление на 2, то скорее всего чётный
Side Unseen вне форума Ответить с цитированием
Старый 30.10.2007, 20:39   #5
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Совсем не обязательно четный. Любой линейный массив делится на две половины, даже если одна половина на единицу длиннее. Длина одной половины N div 2, другой N-(n div 2).
puporev вне форума Ответить с цитированием
Старый 31.10.2007, 19:22   #6
Tayfun
Форумчанин
 
Аватар для Tayfun
 
Регистрация: 24.06.2007
Сообщений: 351
По умолчанию

Цитата:
Совсем не обязательно четный. Любой линейный массив делится на две половины, даже если одна половина на единицу длиннее. Длина одной половины N div 2, другой N-(n div 2).
Тогда в задача имеет два решения, кода первая половина больше второй и наоборот когда вторая половина будет больше первой...
Я не маюсь бездельем, я от него тащусь!
Tayfun вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решите пожалуйста задачу на Паскале Bagsi Помощь студентам 15 23.01.2009 11:35
SOS .Решите пожалуйста задачу на Паскале miron Помощь студентам 8 27.03.2008 15:32
Решите пожалуйста на Паскале Bagsi Помощь студентам 4 30.10.2007 22:36
Решите пожалуйста задачу на Паскале Bagsi Помощь студентам 1 30.10.2007 14:56