Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Pascal

Выпуск № 113
от 11.12.2005, 21:36

Администратор:Калашников О.А.
В рассылке:Подписчиков: 145, Экспертов: 42
В номере:Вопросов: 1, Ответов: 8


Вопрос № 30938: как сделать чтобы массив в паскале выводился не в строку, а как матрица???...

Вопрос № 30.938
как сделать чтобы массив в паскале выводился не в строку, а как матрица???
Отправлен: 06.12.2005, 21:35
Вопрос задал: Хованов Дмитрий Михайлович (статус: Посетитель)
Всего ответов: 8
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Лучников Юрий Владимирович
Здравствуйте, Хованов Дмитрий Михайлович!

Кусок кода в приложении...

Приложение:

Ответ отправил: Лучников Юрий Владимирович (статус: 3-ий класс)
Отправлен: 06.12.2005, 22:02

Отвечает: Whisper
Здравствуйте, Хованов Дмитрий Михайлович!
for i=1 to n do begin
for j=1 to m do
wrire(a[i,j]);
writeln;
end

---------
все тленно
Ответ отправила: Whisper (статус: 3-ий класс)
Отправлен: 06.12.2005, 22:16

Отвечает: REFERI
Здравствуйте, Хованов Дмитрий Михайлович!
Ну чтобы не в строку, а как матрица, тогда надо двумерный массив и выводить его поэлементно. Сначала первую строку, затем вторую и т.д.
В приложении приведен код - запустите и увидите матрицу...
каждый раз разную...
Удачи в кодинге!

Приложение:

---------
Не судите, да не судимы будете...

Ответ отправил: REFERI (статус: Студент)
Отправлен: 06.12.2005, 22:55

Отвечает: sir henry
Здравствуйте, Хованов Дмитрий Михайлович!
Самое простое - объявить его тоже как матрицу:
var
MyArr: array[0..3, 0,,3] of integer;
i, j: integer;
Begin
For i:=0 To 3 Do
Begin
For j:=0 To 3 Do
Write(MyArr[i, j]: 6);
WriteLn;
End;
End.
Если массив одномерный, то высчитывайте сами, на каком индексе Вам нужно будет сделать перенос строки.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 07.12.2005, 09:12

Отвечает: dobroman
Здравствуйте, Хованов Дмитрий Михайлович!
Просто вставляйте writeln для перевода строки (см. приложение)

Приложение:

Ответ отправил: dobroman (статус: 2-ой класс)
Отправлен: 07.12.2005, 09:52

Отвечает: Boriss
Здравствуйте, Хованов Дмитрий Михайлович!
И еще вариант, который предпочтительнее, если массив одномерный (ведь не сказано, какой): задавать длину вывода, например, Write(a[i]:8,' ');
8 мест под число и 2 пробела для разделения = 10, то есть, получится 8 чисел на строке
То есть, считать надо
---------
Вывод - то место в тексте, где вы устали думать
Ответ отправил: Boriss (статус: Профессор)
Отправлен: 07.12.2005, 10:37

Отвечает: Stamm
Здравствуйте, Хованов Дмитрий Михайлович!
var a:array[n,m] of integer;
j,i:byte;
Begin
for i:=1 to n do
begin
for j:=1 to m do
Write(a[i,j]);
Writeln();
end
End.
Ответ отправил: Stamm (статус: 5-ый класс)
Отправлен: 07.12.2005, 22:33

Отвечает: Schmak
Здравствуйте, Хованов Дмитрий Михайлович!
Самое просто это объвить прямоугольный массив, т.е. матрицу:
var a:array [1..5,1..5] of integer;
i,j:integer;
begin
//Заполнение массива
randomize;
for i:=1 to 5 do
for j:=1 to 5 do
a[i,j]:=random(100);
//Вывод массива
for i:=1 to 5 do
begin
for j:=1 to 5 do
write(a[i,j]:3); //Данная строка указывает, что каждый элемент массива будет занимать 3 символа на экране, т.о. получается матрица
writeln;
end;
readln;
end.

---------
Не всё то Windows, что висит!
Ответ отправил: Schmak (статус: Студент)
Отправлен: 08.12.2005, 14:47


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Яндекс Rambler's Top100 hotlog_js="1.0"; hotlog_r=""+Math.random()+"&s=314124&im=101&r="+escape(document.referrer)+"&pg="+ escape(window.location.href); document.cookie="hotlog=1; path=/"; hotlog_r+="&c="+(document.cookie?"Y":"N"); hotlog_js="1.1";hotlog_r+="&j="+(navigator.javaEnabled()?"Y":"N") hotlog_js="1.2"; hotlog_r+="&wh="+screen.width+'x'+screen.height+"&px="+ (((navigator.appName.substring(0,3)=="Mic"))? screen.colorDepth:screen.pixelDepth) hotlog_js="1.3" hotlog_r+="&js="+hotlog_js; document.write("HotLog")

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.pasplus
Архив рассылки
Отписаться
Вспомнить пароль

В избранное