Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> новый массив из нечетных элементов, ошибка у меня.. хелп плиз 
:(
    Опции темы
royksoppster
Дата 29.1.2006, 00:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 29.1.2006

Репутация: нет
Всего: нет



Здравствуйте.
Мне нужно выполнить задачку:
"Написать процедуру создания нового массива из нечетных элементов исходного массива. Вывести 2 массива. Используя процедуру, создать 2 новых массива из нечетных элементов. Вывести все массивы."

Вот мой код этой программы:

Код

program noviimassiv;
type mas=array[1..10] of integer;
var i,n,k:integer;
a,b:mas;

procedure vvod(var a:mas; n:integer);
begin
for i:=1 to n do readln(a[i]);
end;

procedure vivod(var a:mas; n:integer);
begin
for i:=1 to n do
write(a[i]:3);
writeln;
end;

procedure ne4(c:mas; f:byte; d:mas; g:integer);
begin
g:=0;
for i:=1 to f do
if ODD(c[i]) then
begin
g:=g+1;
d[g]:=c[i];
end;
end;

BEGIN
writeln('введите кол-во элементов в массиве');
readln(n);
vvod(a,n);
writeln('исходный массив');
vivod(a,n);
ne4(a,n,b,k);
writeln('новый массив из нечетных элементов');
vivod(a,n);
readln;
END.


Вот.. проблема в том, что исходный массив нормально показывается, а вот новый массив... точнее процедура поиска нечетных элементов у меня не хочет работать.
Что не так ?

Заранее спасибо.

ЗЫ: пишу на турбо паскале версии 7.0, с русским и англ. шрифтом..
PM MAIL   Вверх
volvo877
Дата 29.1.2006, 02:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



В следующий раз будь внимательнее:
Код
program noviimassiv;
type
  mas=array[1..10] of integer;

var
  i,n,k:integer;
  a,b:mas;

procedure vvod(var a:mas; n:integer);
begin
  for i:=1 to n do readln(a[i]);
end;

procedure vivod(var a:mas; n:integer);
begin
  for i:=1 to n do write(a[i]:3);
  writeln;
end;

{ Обрати внимание - второй массив должен передаваться ПО ССЫЛКЕ }
procedure ne4(c:mas; f:byte; var d:mas; var g:integer);
begin
  g:=0;
  for i:=1 to f do
    if ODD(c[i]) then begin
      g:=g+1;
      d[g]:=c[i];
    end;
end;

BEGIN
  writeln('введите кол-во элементов в массиве'); readln(n);
  vvod(a,n);
  writeln('исходный массив');
  vivod(a,n);
  ne4(a,n,b,k);

  writeln('новый массив из нечетных элементов');
  { И здесь тоже - передаешь новый массив и количество элементов в нем }
  vivod(b,k);
  readln;
END.

PM MAIL   Вверх
Snowy
Дата 29.1.2006, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: нет
Всего: 484



если ищем нечетные, то
if not ODD(c[i]) then
Добавлено @ 10:02
Цитата(royksoppster @ 29.1.2006, 00:23 Найти цитируемый пост)

writeln('новый массив из нечетных элементов');
vivod(a,n);

В новом массиве будет не n элементов, а
(n+1) div 2;
PM MAIL   Вверх
volvo877
Дата 29.1.2006, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



Цитата(Snowy @ 29.1.2006, 09:00 Найти цитируемый пост)
если ищем нечетные, то
if not ODD(c[i]) then

smile Ошибочка... Odd это и есть "нечетный" по английски...
PM MAIL   Вверх
royksoppster
Дата 29.1.2006, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 29.1.2006

Репутация: нет
Всего: нет



Вольво, спасибо тебе большое.
Программа работает...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0650 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.