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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.05.2009, 13:38   #1
VadEr
Форумчанин
 
Аватар для VadEr
 
Регистрация: 24.03.2009
Сообщений: 375
По умолчанию Writeln в TPascal

Подскажите пожалуста, почему не работает Writeln (перенос строки) в TP7? В Delphi все ok, но надо в TP.

Например:
Вывожу перый раз массив - перенос строки работает
Код:
for i:=1 to N do
 for j:=1 to N do
      begin   
        Writeln(mas[i,j],' ');
        if j=N then Writeln
      end;
Далее вывожу второй раз массив (аналогичным методом), но пишется все в строку (даже writeln('xxx'); вне цикла не работает).

Последний раз редактировалось VadEr; 13.05.2009 в 14:08.
VadEr вне форума Ответить с цитированием
Старый 13.05.2009, 14:04   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Хотите сказать, что у вас это работает? )
Код:
for i:=1 to N
 for j:=1 to N
где do?

И, кстати, если вы так будете выводить, то "матрицы" не получится. Элементы будут выводиться каждый на новой строке.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 13.05.2009, 14:08   #3
VadEr
Форумчанин
 
Аватар для VadEr
 
Регистрация: 24.03.2009
Сообщений: 375
По умолчанию

Извиняюсь, просто забыл дописать пример (сейчас исправлю). На самом деле там "do" стоит и вопрос по-прежнему актуален. Перый вывод матрицы проходит так как надо.

см. картинку после слова "After:".
Изображения
Тип файла: jpg screen.jpg (40.3 Кб, 121 просмотров)

Последний раз редактировалось VadEr; 13.05.2009 в 14:18.
VadEr вне форума Ответить с цитированием
Старый 13.05.2009, 14:13   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Извиняюсь, просто забыл дописать пример (сейчас исправлю). На самом деле там "do" стоит и вопрос попрежнему актуален.
Покажите полный код. Или, по крайней мере, участок, который работает не так (только не переписывайте, а ля "там сделано также", а скопируйте).
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 13.05.2009, 14:24   #5
VadEr
Форумчанин
 
Аватар для VadEr
 
Регистрация: 24.03.2009
Сообщений: 375
По умолчанию

Код:
const
  N=10;
var
  mas :array[1..N,1..N] of integer;
  i, j :byte;
 begin
Writeln('Before:');
Randomize;
for i:=1 to N do
  for j:=1 to N do
    begin
       mas[i,j] := Random(101);
       Write(mas[i,j]:3,' ');
       if j=N then writeln
    end;
for j:=1 to N do
  for i:=1 to N do
      mas[i-j,j] := 0;
Writeln;
Writeln('After:');
for i:=1 to N do
    for j:=1 to N do
        begin
          Write(mas[i,j]:3,' ');
         if j=N then Writeln
        end;
Readln
end.

Последний раз редактировалось VadEr; 13.05.2009 в 14:26.
VadEr вне форума Ответить с цитированием
Старый 13.05.2009, 14:38   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Эм.. И что не так?


Покажите-ка скрин.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 13.05.2009, 14:51   #7
VadEr
Форумчанин
 
Аватар для VadEr
 
Регистрация: 24.03.2009
Сообщений: 375
По умолчанию

скрин в посте №3. После слова After д/б матрица как после слова Before, а она пишется в строчку. Ди и само слово After почему-то не сновой строки и с отступом в право.
VadEr вне форума Ответить с цитированием
Старый 13.05.2009, 14:56   #8
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Код:
for j:=1 to N do
  for i:=1 to N do
      mas[i-j,j] := 0;
У вас индексация от 1 до N, а тут индекс получается отрицательным.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 13.05.2009, 15:12   #9
VadEr
Форумчанин
 
Аватар для VadEr
 
Регистрация: 24.03.2009
Сообщений: 375
По умолчанию

Теперь понял:

Код:
for j:=1 to N do
    for i:=N downto 1 do
         if i<>j then mas[i-j,j] := 0;
VadEr вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задачи через writeln и readln MELKOVSKY Паскаль, Turbo Pascal, PascalABC.NET 3 24.01.2008 14:04
writeln (помогите решить несколько задач!) Evgenii Помощь студентам 2 04.01.2008 23:51
Простые програмки на TPascal cL1zMa Помощь студентам 9 13.06.2007 16:32