Помощь - Поиск - Пользователи - Календарь
Полная версия: задача в 7-м уроке
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
nickfreeman
Pleaze Как решить 1-ю задачу в 7-м уроке (там где про циклы)?
APAL
Если условия задачи привести прямо здесь - то процесс помощи ускорится.
volvo
nickfreeman
Эта задача?
Цитата
1. По теме "циклы": - напишите программу, печатающую столбик строк такого вида:

1 0 0 0 0 0 0 0 0
0 2 0 0 0 0 0 0 0
0 0 3 0 0 0 0 0 0
0 0 0 4 0 0 0 0 0
0 0 0 0 5 0 0 0 0
0 0 0 0 0 6 0 0 0
0 0 0 0 0 0 7 0 0
0 0 0 0 0 0 0 8 0
0 0 0 0 0 0 0 0 9
Altair
я сналала подумал,что это уроки с сайта, но нет....
nickfreeman
Цитата(volvo @ 30.03.05 14:54)
nickfreeman
Эта задача?

Ага, эта
APAL
Код
...
For i:=1 to 9 do
Begin
For j:=1 to 9 do
  If j=i then Write(j,' ') else Write('0 ');
Writeln;
End;
...
volvo
Ну, тогда так: заметь, что все элементы матрицы = 0, кроме тех, которые находятся на пересечении строки и столбца с одним номером. Поэтому, если одним проходом обнулить всю матрицу, а вторым пройти по элементам a[i, i] (с одинаковым индексом строки и столбца) ,то получишь то что нужно...

Но это решение не очень хорошее. Можно заполнить матрицу за один проход. Тогда нужно двумя вложенными циклами перебрать все строки и столбцы, и в тех из них, где индекс строки = индексу столбца поставить этот индекс, иначе ставить 0.

Я не хочу приводить код для этой задачи, ты должен его написать сам, тогда ты поймешь, как это делается...
nickfreeman
A если так.
Код
var k,l:string;
   a,b:byte;
begin
for a:=1 to 9 do
   begin
   l:='0 0 0 0 0 0 0 0 0';
   k:='123456789';
   l[a+b]:=k[a];
   inc(B);
   writeln (l);
   end;
   readln
end.

(Сложнее, зато сам допетрил)
klem4
зачем так сложно ??? blink.gif

Код

for i:=1 to n do
x[i,i]:=i;
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.