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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2008, 16:14   #31
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

А мое решение не пойдет?
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 22.12.2008, 16:17   #32
katya36
Пользователь
 
Аватар для katya36
 
Регистрация: 19.12.2008
Сообщений: 51
По умолчанию

просто преподаватель уже то решение у меня проверила и отметила себе, сказала дописать...я оч рада что моё решение ей угодило там сдвинуть элемены осталось и всё ) но кааак?)
katya36 вне форума Ответить с цитированием
Старый 22.12.2008, 16:48   #33
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Код:
program p76ex51;
uses crt;
const n=10;
var A: array [1..n] of integer;
pn, pp, i, g, min,left: integer;//pp - сколько раз придется сдвигать
ok: boolean;
//pn- позиция первого отрицательного элемента
{$APPTYPE CONSOLE}

begin
clrscr;
pp:=0;
{ TODO -oUser -cConsole Main : Insert code here }
writeln ('vvedite posledovatelnost');
for i:=1 to n do
read (A[i]);
ok:=false;
i:=1;
while (i<=n) and not(ok) do
 begin
  if A[i]<0 then ok:=true
   else
    i:=i+1;
  if ok then pn:=i;
end;
if ok then // если встретили отр  элемент
begin
 inc(pp);// 1 раз сдвинули
i:=pn;
while i<n do
 begin
 a[i]:=a[i+1];
 inc(i);
 end;
end;
min:=9999;//предполагаем что у нас мин пол первый элемент
for i:=1 to n-pp do // длина могла измениться если сдвигали
 if a[i]>0 then begin
                 if a[i]<min then begin
                                        pn:=i; // встретили полож элемент
                                        min:=a[i];
                                      end;
                 ok:=true;
                end;
if ok then
begin
inc(pp);
i:=pn;
 while i<n-pp+1 do
  begin
  a[i]:=a[i+1];
  inc(i);
  end;
end;
for i:=1 to n-pp do
 write(a[i],' ');

end.
Нормальное состояние техники - нерабочее, все остальное частный случай.

Последний раз редактировалось alex_fcsm; 22.12.2008 в 17:27.
alex_fcsm вне форума Ответить с цитированием
Старый 22.12.2008, 16:57   #34
katya36
Пользователь
 
Аватар для katya36
 
Регистрация: 19.12.2008
Сообщений: 51
По умолчанию

Alex, спасибо огромное
katya36 вне форума Ответить с цитированием
Старый 22.12.2008, 17:02   #35
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Посмотрите на исправленное.
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 22.12.2008, 17:06   #36
katya36
Пользователь
 
Аватар для katya36
 
Регистрация: 19.12.2008
Сообщений: 51
По умолчанию

а что значит inc? можно ли это как-то заменить? просто опят же- не проходили
katya36 вне форума Ответить с цитированием
Старый 22.12.2008, 17:18   #37
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

inc(i) - увеличение на единицу равносильно i:=i+1
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 22.12.2008, 17:24   #38
katya36
Пользователь
 
Аватар для katya36
 
Регистрация: 19.12.2008
Сообщений: 51
По умолчанию

угу,поняла) а она у Вас работает? и как эту послед. например нужно вводить?
katya36 вне форума Ответить с цитированием
Старый 22.12.2008, 17:25   #39
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

У меня работает(снова подправил).
Вводите n чисел через пробел
1 2 -3 4 5 0 9 8 6 12
Нормальное состояние техники - нерабочее, все остальное частный случай.

Последний раз редактировалось alex_fcsm; 22.12.2008 в 17:28.
alex_fcsm вне форума Ответить с цитированием
Старый 22.12.2008, 17:39   #40
katya36
Пользователь
 
Аватар для katya36
 
Регистрация: 19.12.2008
Сообщений: 51
По умолчанию

отлично спасибо ещё раз!!!
katya36 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос с условием отбора [Введите фамилию] spets Microsoft Office Access 9 21.01.2014 02:02
Введите данные в массив о N числа туристов Fantoms01 Паскаль, Turbo Pascal, PascalABC.NET 3 25.11.2008 12:44
Задачка за 100-200 NSvirus Фриланс 2 12.11.2008 02:27
Как узнать какой текст выделен в текст поле mogul82 JavaScript, Ajax 2 02.11.2008 16:32