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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.01.2011, 17:29   #1
allegri
 
Регистрация: 03.01.2011
Сообщений: 6
По умолчанию Переписать елементы из одного массива в другой

Добрый вечер! Всех с прошедшим новым годом!

Требуется составить программу, в которой описан массив целых чисел, и переписать все елементы меньше 10 в другой массив, пересчитав их количество.

program 132;
uses crt;
var
mas1,mas2:array[1..5] of integer;
i,j,k:integer;
begin
clrscr;
for i:=1 to 5 do
readln(mas1[i]);
writeln;
for i:=1 to 5 do
write(mas1[i],' ');
writeln;
k:=0;
for i:=1 to 5 do
if mas1[i]<10 then
begin
mas2[j]:=mas1[i];
write(mas2[j],' ');
inc(k);
end;
writeln('Kilkist chusel<10:',k);
readkey;
end.

Моя проблема в том, что во втором массиве последний елемент почему-то повторяется 2 раза.
Помогите пожалуйста! Заранее спасибо!
allegri вне форума Ответить с цитированием
Старый 03.01.2011, 17:46   #2
Niro
Форумчанин
 
Аватар для Niro
 
Регистрация: 23.09.2010
Сообщений: 682
По умолчанию

Присоединяюсь. Всех с праздником
Судя по вашему коду она не должна делать и того что вы написали.
Где у вас увеличивается переменная j ?
Код:
for i:=1 to 5 do
begin
   if mas1[i]<10 then begin
                                      k:=k+1;
                                      mas2[k]:=mas1[i];
                                   end;
end;
P.S.: лучше заполняйте массив рандомно
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить.

Последний раз редактировалось Niro; 03.01.2011 в 17:49.
Niro вне форума Ответить с цитированием
Старый 03.01.2011, 17:47   #3
MoBLer
Пользователь
 
Аватар для MoBLer
 
Регистрация: 30.12.2010
Сообщений: 91
По умолчанию

Вот подправил немного
Код:
program edf;
uses crt;
var
mas1,mas2:array[1..5] of integer;
i,j,k:integer;
begin
clrscr;
for i:=1 to 5 do
readln(mas1[i]);
writeln;
for i:=1 to 5 do
write(mas1[i],' ');
writeln;

k:=0; j:=1;
for i:=1 to 5 do
if mas1[i]<10 then
begin
mas2[j]:=mas1[i];
write(mas2[j],' ');
inc(k);   inc(j);
end;
writeln('Kilkist chusel<10:',k);
readkey;
end.
Странно и как она работала
Я тебе помог, добавь отзыв)))))
Статьи по программированию
MoBLer вне форума Ответить с цитированием
Старый 03.01.2011, 18:57   #4
allegri
 
Регистрация: 03.01.2011
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Niro Посмотреть сообщение
P.S.: лучше заполняйте массив рандомно
Знаю, но задание просило именно задавать значения вручную..

Niro, MoBLer спасибо большое! Вы мне очень помогли!
allegri вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
копирование из одного двумерного массива в другой Sanprof Общие вопросы Delphi 7 08.10.2010 17:31
Как результат обработки одного массива загнать в другой массив? delphifan PHP 1 16.04.2010 16:13
Си. перенос элементов одного массива в другой Денни Помощь студентам 7 07.02.2010 15:34
Перенести общие елементы двух массивов в другой. leshax Общие вопросы C/C++ 1 04.02.2009 20:57
переписать из массива в линейный двунаправленный список чётные элементы массива Black_Ak24 Помощь студентам 12 08.01.2008 00:44