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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.11.2010, 18:36   #1
aiktz
Форумчанин
 
Регистрация: 10.03.2009
Сообщений: 104
Стрелка матрица с неповторяющимися числами

привет. прошу проверить правильность написания задачи,если есть ошибки или недочеты,прошу скажите...
задача: вывести матрицу 10*10 с неповтояющимися числами(с помощью Randomize и Random).


Код:
program matrica;
uses crt;
const n=10; m=10;
type a:array[1..n,1..m] of integer;
       b:array[1..n,1..m] of integer;
var
i,j,k:integer;
bool:boolean;
begin
clrscr;
randomize;
k:=n*m;
j:=2;
a(i):=int(Random(200));
Repeat
x:=int(Random(200))+1;
bool:=True;
for i:=1 to (j-1) do
if x:=a[i] then bool:=false
if bool then begin a[j]:=x;
j:=j+1;
end;
until j:=k and bool
for i:=1 to n do
for j:=1 to m do
b[i,j]:=a[((n-1)*m)+j];
write(a[i]);
writeln;
end;
end.
aiktz вне форума Ответить с цитированием
Старый 01.11.2010, 19:32   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

В задании что-нибудь оговорено о методике получения элементов матрицы кроме этого?
Ведь куда проще получать новый элемент заранее зная что он уникален:
Код:
const n=5; m=5;
var a:array[1..n,1..m] of integer;
   i,j,k:integer;
begin
k:=3;
for i:=1 to n do begin
 for j:=1 to m do begin
  a[i,j]:=k+random(10);
  k:=k+10;
  write(a[i,j]:10);
 end;writeln;
end;
readln;
  { TODO -oUser -cConsole Main : Insert code here }
end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.11.2010, 20:29   #3
aiktz
Форумчанин
 
Регистрация: 10.03.2009
Сообщений: 104
По умолчанию

кроме этого условия ничего не оговорено, спасибо)
aiktz вне форума Ответить с цитированием
Старый 01.11.2010, 20:59   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Да незачто, но учти эта рискованная хитрость - преподаватели не любят когда их уделывают так, так что можешь попасться под горячую лапу.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.11.2010, 06:59   #5
aiktz
Форумчанин
 
Регистрация: 10.03.2009
Сообщений: 104
По умолчанию

Thanks Супер Модератор!
aiktz вне форума Ответить с цитированием
Старый 02.11.2010, 09:21   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

aiktz
кстати, у Вас в программе были такие ошибки:
- Вы вместо VAR пытались написать Type - так нельзя. (типы описываются через знак = (равно), а переменные - через : (двоеточие)

- Элементы массива задаются через индексы в квадратных скобках (а не круглых, как у Вас)

- Матрица (массив) у Вас имеет ДВА индекса, поэтому, в Вашем случае написание a[i] - ошибочно - надо указывать ДВА индекса, например, a[i,j]

- в принципе не ошибка, но Random(Число) и так возвращает целое значение, его не надо приводить к INT() как это сделано у Вас.

ну, алгоритм самой проверки, есть ли такое число в матрице или ещё нет - я опускаю. Это вообще отдельная песня...

Цитата:
Да незачто, но учти эта рискованная хитрость - преподаватели не любят когда их уделывают так, так что можешь попасться под горячую лапу.
угу. я бы, если бы это сдавали мне, ОБЯЗАТЕЛЬНО попросил тут же, "чуточку" модифицировать программу, чтобы в матрице были неповторяющиеся числа от 1 до, например, 150...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с числами Tata4ka Помощь студентам 1 20.10.2010 16:13
Непонятки с DirectX (матрица поворота, камера, матрица проекции) ROD Общие вопросы C/C++ 2 17.09.2010 17:00
TurboPascal: граф, матрица смежности и матрица инцидентности. ulala Помощь студентам 0 02.12.2009 10:11
Заполнение массива неповторяющимися числами anybkarnak Общие вопросы C/C++ 8 30.11.2009 22:31