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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2008, 20:43   #1
Маськ@
Пользователь
 
Регистрация: 07.12.2008
Сообщений: 11
Стрелка Помогите, плизз, решить 3 задачки на T.Pascal...

Народ!!! Помогите, пожалуйста, решить!
1) Удалить из массива все элементы, которые повторяются, оставив только их первые вхождения, то есть получить массив из различных элементов;
2) Переставить в массиве в обратном порядке элементы, расположенные между минимальным и максимальным элементами;
3) Вставить число k (все числа, указанные в формулировке задачи вводятся с клавиатуры) перед всеми элементами, в которых есть цифра 1.
Маськ@ вне форума Ответить с цитированием
Старый 08.12.2008, 11:09   #2
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию 1

Код:
uses crt;
const N_MAX=20;
var i,j,n:integer;
    a:array[1..N_MAX] of integer;

procedure Move(x:integer);
var k:integer;

begin
 for k:=x to n-1 do
  a[k]:=a[k+1];
end;

begin
clrscr;
randomize;
for i:=1 to N_MAX do
 begin
  a[i]:=random(10);
  write(a[i]:2);
 end;
n:=N_MAX;
writeln;
i:=1;
while i<=n do
 begin
 for j:=i+1 to n do
  if (a[i]=a[j]) then begin
                        Move(j);
                        i:=0;
                        dec(n);
                      end;
 inc(i);
 end;

for i:=1 to n do
 write(a[i]:2);
end.
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 08.12.2008, 11:10   #3
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию 2

Код:
uses crt;
const N_MAX=15;
var i,j,max,min,temp:integer;
    a:array[1..N_MAX] of integer;

begin
clrscr;
randomize;
for i:=1 to N_MAX do
 begin
  a[i]:=random(100);
  write(a[i]:3);
 end;
writeln;
max:=1;min:=1;
for i:=2 to N_MAX do
 if a[max]<a[i] then max:=i
    else if a[min]>a[i] then min:=i;
if max<min then begin
                 j:=min;
                 min:=max;
                 max:=j;
                end;
for i:=1 to (max-min-1) div 2 do
  begin
   temp:=a[min+i];
   a[min+i]:=a[max-i];
   a[max-i]:=temp;
  end;

for i:=1 to N_MAX do
 write(a[i]:3);
end.
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 08.12.2008, 11:11   #4
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию 3

Код:
uses crt;
const N_MAX=20;
var i,j,k,n:integer;
    a:array[1..N_MAX] of integer;
    s:string;

begin
clrscr;
writeln('Input 10 elements');
n:=N_MAX div 2;
for i:=1 to n do
 read(a[i]);
writeln('Input k');
readln(k);
i:=1;

while i<=n do
 begin
  str(a[i],s);
  if pos('1',s)<>0 then begin
                       for j:=n+1 downto i+1 do
                           a[j]:=a[j-1];
                           a[i]:=k;
                           inc(n);
                           inc(i);
                         end;
  inc(i);
 end;

for i:=1 to n do
 write(a[i],' ');
end.
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПОМОГИТЕ РЕШИТЬ ЗАДАЧКИ! Ватрушка90 Microsoft Office Excel 5 04.12.2008 21:48
задачки. помогите решить (С++) Destiny_2008 Помощь студентам 5 03.12.2008 20:08
Помогите решить задачу на Паскале плизз срочно нужно!!!! NTFS Паскаль, Turbo Pascal, PascalABC.NET 2 15.03.2008 21:28
Помогите решить 2 задачки! Venom Помощь студентам 12 25.06.2007 13:51
Помогите плизз решить простые задачки на С++ sam21 Общие вопросы C/C++ 4 01.02.2007 11:37