Помощь - Поиск - Пользователи - Календарь
Полная версия: массив
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
legion33
Здравствуйте Уважаемые !!!!!!! Вот есть такая задачка есть массив из 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
 k := (size div 3) + byte ((size mod 3) > 0);

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


Кстати, зачем массив описан с индексами от 0 до size? Используются же только индексы, начиная с 1-цы...
legion33
Спасибо большое, оказывается всего дишь надо было поменять, СПАСИБО !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.