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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2012, 20:28   #1
Proskurina
Форумчанин
 
Регистрация: 27.05.2012
Сообщений: 109
По умолчанию Переделать программу, чтобы работала через одну процедуру..

. Удалить из массива все элементы, последняя цифра которых нечетная и сжать массив
Код:
uses crt;
const nmax=100;
type mas=array [1..nmax+1] of integer;
var a: mas; n: byte;

procedure Gen(var r: byte; var z: mas);
var i: byte;
begin
repeat
write('Количество элементов, не более ',nmax,', n='); readln(r);
until r in [1..nmax];
for i:=1 to r do
z[i]:=random(199)-99;
end;

procedure Print(r: byte; z: mas);
var i: byte;
begin
for i:=1 to r do
write(z[i]:4);
writeln;
end;

procedure Sdvig (c: byte; var r: byte; var z: mas);
var i: byte;
begin
for i:=c to r-1 do
z[i]:=z[i+1];
dec(r);
end;

procedure Compress (var r: byte; var z:mas);
var i: byte;
begin
for i:=r downto 1 do
if odd(z[i] mod 10) then Sdvig (i,r,z);
end;

begin
Gen(n,a);
writeln('Исходный массив');
Print(n,a);
writeln('Массив после сжатия');
Compress(n,a);
Print(n,a);
end.
Proskurina вне форума Ответить с цитированием
Старый 23.11.2012, 20:31   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Примерно так:
Код:
uses crt;
const nmax=100;
type mas=array [1..nmax+1] of integer;
var a: mas; n: byte;

procedure Gen(var r: byte; var z: mas);
var j,i: byte;
begin
 repeat
  write('Количество элементов, не более ',nmax,', n='); readln(r);
 until r in [1..nmax];
 for i:=1 to r do z[i]:=random(199)-99;
 for i:=1 to r do write(z[i]:4);writeln;
 for i:=r downto 1 do if odd(z[i] mod 10) then for j:=c to r-1 do z[j]:=z[j+1];
 for i:=1 to r do write(z[i]:4);writeln;
end;

begin
Gen(n,a);
end.
Не проверял.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.11.2012, 22:48   #3
Proskurina
Форумчанин
 
Регистрация: 27.05.2012
Сообщений: 109
По умолчанию

не работает((( можно сделать задачу для abcpaskal??
Proskurina вне форума Ответить с цитированием
Старый 23.11.2012, 22:52   #4
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
abcpaskal
эх да, даже не знаете язык, на котором "пишите"...
Код:
procedure Gen;
...
Gen;
попробуйте так
Poma][a вне форума Ответить с цитированием
Старый 23.11.2012, 23:03   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
procedure Gen;
...
Gen;
Видимо я его тоже не знаю )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.11.2012, 23:32   #6
Proskurina
Форумчанин
 
Регистрация: 27.05.2012
Сообщений: 109
По умолчанию

не работает((((
Proskurina вне форума Ответить с цитированием
Старый 23.11.2012, 23:36   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Учла Ромино замечание?
Какие ошибки программа выдает?
Readln в конце поставила для задержки консоли?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
переделайте задачу, чтобы она работала через одну процедуру. Proskurina Помощь студентам 4 23.11.2012 23:33
Как сделать, чтобы программа работала сразу через 20 сайтов? tima777 Работа с сетью в Delphi 4 13.08.2011 20:48
как запустить одну программу из другой.чтобы и та и другая являлись одним приложением. ромик0 Общие вопросы C/C++ 5 16.06.2011 20:30
Изменить программу-обратную матрицу в Паскале,чтобы работала корректно Novenkaja Помощь студентам 0 25.04.2011 20:18
Нужна помощь! Нужно переделать программу написанную на дельфи, чтобы она работала под управлением Vista Karloss Фриланс 5 10.11.2008 17:14