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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2009, 22:10   #1
s2dentishe
Пользователь
 
Регистрация: 13.11.2009
Сообщений: 70
По умолчанию работа с массивом

Всем добрый вечер, есть очень простая программка, но результат я совсем не могу понять, пожалуйста, помогите, разъясните в чем дело. Вот текст программки
program lab1;
uses crt,graph;
const
n=10;
m=100;
var i,j,k:integer;
mas:array [1..n,1..n] of integer;

begin
clrscr;
for k:=1 to m do
begin
randomize;
i:=random(n)+1;
j:=random(n)+1;
if (mas[i,j]=0) and (i<>j) then begin
mas[i,j]:=1;
mas[j,i]:=1; end;
end;

for i:=1 to n do
begin
writeln;
for j:=1 to n do
write(mas[i,j]);
end;

readkey;
end.

на выходе ожидаю все единицы кроме главной диагонали, а выводит только 2 единицы и остальные нули
s2dentishe вне форума Ответить с цитированием
Старый 12.12.2009, 22:24   #2
Armorer
Подтвердите свой е-майл
 
Регистрация: 07.04.2007
Сообщений: 120
По умолчанию

ужасная программа=)
Но я понял почему 2 единицы.

Цитата:
for k:=1 to m do
begin
randomize;
i:=random(n)+1;
j:=random(n)+1;
if (mas[i,j]=0) and (i<>j) then begin
mas[i,j]:=1;
mas[j,i]:=1; end;
end;
во первых randomize запускается один раз в начале, а не в цикле.

во вторых он вообще нужен, также как и функ. random. При чем тут случайные числа?

Остальное тоже почти все неправильное)
вот код который решает задачу.

Код:
for i:=1 to m do
for j:=1 to n do
if i<>j then 
A[i,j]:= 1
else
A[i,j]:=0;
И в остальном пару косяков убрать еще надо.

Последний раз редактировалось Armorer; 12.12.2009 в 22:27.
Armorer вне форума Ответить с цитированием
Старый 12.12.2009, 22:35   #3
s2dentishe
Пользователь
 
Регистрация: 13.11.2009
Сообщений: 70
По умолчанию

спасибо, за подсказку с randomize!
s2dentishe вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с массивом Андрей.12 Помощь студентам 2 22.10.2009 00:25
Работа с массивом GaSST Microsoft Office Excel 5 04.06.2009 07:57
работа с массивом begemotikdin Паскаль, Turbo Pascal, PascalABC.NET 2 21.06.2008 21:40
Работа с массивом: n на n ! Angst Помощь студентам 1 24.01.2008 22:14