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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.10.2011, 21:53   #1
kuy
Форумчанин
 
Аватар для kuy
 
Регистрация: 05.09.2011
Сообщений: 109
Сообщение Несколько масивов

Здравствуйте, помогите исправить код:
Суть программы заключается в том чтобы массив В присвоил все парные элементы массива А(и изменил розмер соответственно). У меня проблема в том что розмер меняется, но там где в массиве А были непарные елементы, в массиве В пишутся нули и программа не работает. Как избавится от нулей, что изменить???
Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

const
  A:array[1..10] of integer = (82,52,51,42,37,32,21,18,17,12);
  n=10;
var
  B: array[1..n] of integer;
  w,i,k : integer;
begin
  writeln('mas A:');
    for i:=1 to 10 do write(A[i],'  ');
  Writeln;
  k:=n;
  for i:=1 to 10 do
    begin
     w:= A[i] mod 2;
     if w = 0 then B[i]:=A[i]
     else k := k - 1;
    end;
  writeln('mas B:');
  for i:=1 to k do write(B[i],'  ');
  Writeln;
readln;
end.

Последний раз редактировалось kuy; 17.10.2011 в 22:00.
kuy вне форума Ответить с цитированием
Старый 17.10.2011, 23:18   #2
Form_13
Форумчанин
 
Регистрация: 25.04.2011
Сообщений: 107
По умолчанию

А что значит парные элементы, будьте добры уточнить. Возможно Вы имели ввиду: чётные и нечётные?

Последний раз редактировалось Form_13; 17.10.2011 в 23:23.
Form_13 вне форума Ответить с цитированием
Старый 17.10.2011, 23:28   #3
Form_13
Форумчанин
 
Регистрация: 25.04.2011
Сообщений: 107
По умолчанию

Если я правильно понял, то вот исправленный вариант программы:

Код:
program Project2;

const
  A:array[1..10] of integer = (82,52,51,42,37,32,21,18,17,12);
  n=10;
var
  B: array[1..n] of integer;
  w,i,k,h : integer;
begin
  writeln('mas A:');
    for i:=1 to 10 do write(A[i],'  ');
  Writeln;
  k:=n;
  for i:=1 to 10 do
    begin
     w:= A[i] mod 2;
     if w = 0 then
      begin
       h:=h+1;
       B[h]:=A[i]
      end;
    end;
  writeln('mas B:');
  for i:=1 to h do write(B[i],'  ');
  Writeln;
readln;
end.
За количество элементов в массиве B у на несёт ответственность отдельная переменная, вот и всё.
Form_13 вне форума Ответить с цитированием
Старый 17.10.2011, 23:32   #4
kuy
Форумчанин
 
Аватар для kuy
 
Регистрация: 05.09.2011
Сообщений: 109
По умолчанию

Да, вы правельно поняли, имел ввиду чётные и нечётные, спасибо большое!
только код чуть подправил:
Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

const
  A:array[1..10] of integer = (85,52,51,42,37,32,21,18,17,11);
  n=10;
var
  B: array[1..n] of integer;
  w,i,h : integer;
begin
  writeln('mas A:');
    for i:=1 to 10 do write(A[i],'  ');
  Writeln;
  h:=0;
  for i:=1 to 10 do
    begin
     w:= A[i] mod 2;
     if w = 0 then
      begin
       h:=h+1;
       B[h]:=A[i]
      end
    end;
  writeln('mas B:');
  for i:=1 to h do write(B[i],'  ');
  Writeln;
readln;
end.

Последний раз редактировалось kuy; 18.10.2011 в 00:06.
kuy вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
метод сортировки масивов Хитман Помощь студентам 5 10.04.2011 13:29
Сравнение динамических масивов DarkEvil Общие вопросы Delphi 2 16.11.2009 09:31
Создание масивов tae1980 Microsoft Office Excel 2 19.03.2009 12:47
Сравнение 2 масивов excel Slavik Помощь студентам 17 07.02.2009 23:18
Создание МасивоВ Slavik Microsoft Office Excel 6 21.01.2009 01:26