IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Задача из "Уроков" на циклы, Никак не получается сделать...
сообщение
Сообщение #1


Гость






Задача из "уроков" , там внизу - составить столбик из нулей, а по диагонали цифры по возрастанию...

Вот как я это сделал... но все бы хорошо, только диагональные цифры начинают считаться с 2, а не с 1... толи я не к той переменной приравнял подсчёт цифр, то ли что...

Код

program kvadrat;
uses crt;
const n=9;
var z,x,c,v:integer;
    a:array [1..n,1..n] of integer;

    begin
    clrscr;

      for z:=1 to n do
      begin
        for x:=1 to n do
          begin
          a[z,x]:=0;
         for c:=1 to n  do
              begin

              a[x,z]:=x+1;


              end;

           write (a[z,x]:2);

          end;
   writeln;
     end;
     readln;
    end.



Кто сможет разобраться в чём ошибка, помогите плиз!
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






a[x,z]:=x+1;

поменяй на
a[x,z]:=x;


Зачем ты Х увеличиваешь? У тебя эта переменная сама увеличивается, и как раз равна номеру текущей строки...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Автооответчик
*****

Группа: Пользователи
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


чесс-говоря разбираться в чужом коде невмоготу сейчас... набросаю по новой.
Код


const n=9;
var a:array [1..n,1..n] of byte;
    i, j:byte;

begin
for i:=1 to n do a[i,i]:=i;
for i:=1 to n do begin
writeln;
for j:=1 to n do write(a[i,j],' ');
end;
readln;
end.



вот.. просто обрати внимание, x и y каждой выводимой цифры (кроме 0 конечно) равны ей самой =)


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






О, ну я балбэс.. lol.gif
пасиба=)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






GoodWind,
"никогда не полагайся на компилятор" (С) ... Ты уверен, что ВСЕ компилеры обнуляют массив при запуске программы? no1.gif Я - нет...

Это особенности компиляторов, а не требования языка...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Опять на теже грабли smile.gif

Где сказано что надо хранить в массиве ?))

uses crt;
var
i,j : byte;
begin
clrscr;
for i := 1 to 9 do begin
writeln;
for j := 1 to 9 do
if (i=j) then write(i,' ')
else write('0 ');
end;
readln
end.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Автооответчик
*****

Группа: Пользователи
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


сердешно извиняю-с rolleyes.gif
писал прямо в браузере smile.gif

Клём, я делал на примере программы, которую дал(а) Lauri . А там сделано с массивом...


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


А он тоже ошибся он имел в виду программу из уроков наших, даже ссылку дал, а там про массив не слова blum.gif blum.gif blum.gif


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


хех, чот щас вспомнил про эту задачу, вот решение с одной переменной :

uses crt;
var
i : byte;

begin
clrscr;
for i := 1 to 81 do begin
if i mod 10 = 1 then write(i div 10 + 1,' ')
else write('0 ');
if i mod 9 = 0 then writeln;
end;
readln;
end.



--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 15.05.2024 18:48
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name