Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ массив

Автор: legion33 2.05.2006 14:30

Здравствуйте Уважаемые !!!!!!! Вот есть такая задачка есть массив из 50 элементов, его нужно ввести в прямом порядке до первого отрицательного числа, а вот вывести его надо в три строки. Проблема такая он вводится нормально до первого отрицательного числа, т.е. цикл заканчивается на отрицательном числе, а вот вывести я его не могу в три строки, он выводится в одну строку, как это сделать ????? Помогите пожайлуста !!!!!

Program Lab4;

Uses Crt;

const size = 50; {размер массива}

Var
c : array [0..size] of integer; {массив}
k, i : integer; {индекс}


begin
clrscr;
writeln ('Ввод массива целлых чисел');
writeln ('Работа с одномерным массивом');

{Заполнение массива числами}

for i := 1 to size do
begin
write ('c[', i, '] => ' : 2);
readln (c[i]);
if c[i] < 0 then break;
end;

writeln;

{Вывод массива в три строки }

k := (size div 3) + byte ((size mod 3) > 0);

for i := 1 to size do
begin
write (c[i] : 3);
if c[i] < 0 then break;
if (i mod k) = 0 then writeln;

end;

readln;

end.
ТЕГИ!

Автор: volvo 2.05.2006 14:36

 k := (size div 3) + byte ((size mod 3) > 0);

попробуй поменять на
 k := (i div 3) + byte ((i mod 3) > 0);


Кстати, зачем массив описан с индексами от 0 до size? Используются же только индексы, начиная с 1-цы...

Автор: legion33 2.05.2006 14:41

Спасибо большое, оказывается всего дишь надо было поменять, СПАСИБО !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1