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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2011, 14:38   #1
dimka123
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 96
Печаль перевод массивов.Паскаль

помогите плиз...дан двумерный массив(размерность любая и ввод элементов любой);сформироваться из него одномерный ,так что бы не было одинаковых элементов .т.е
1 2 3 4
2 3 4 5
6 7 8 9
10 12 13 14
одномерный -1 2 3 4 5 6 7 8 9 10 11 12 13 14 (повторяющиеся элементы что бы не выводил!
dimka123 вне форума Ответить с цитированием
Старый 25.12.2011, 14:50   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
const n=4;
var Mx:array[1..n,1..n] of integer;
vc:array[1..n*n] of integer;
i,j,k,m:integer;
f:boolean;
begin
k:=0;
for i:=1 to n do begin
for j:=1 to n do begin
f:=true;
Mx[i,j]:=random(n*n)+1;
for m:=1 to k do
if vc[m]=mx[i,j] then begin f:=false;break;end;
if f then begin k:=k+1; vc[k]:=mx[i,j]; end;
write(mx[i,j],' ');
end;
writeln;
end;
For i:=1 to k do write(vc[i],' ');
readln;
end.
результат
Цитата:
2 7 10 14
16 16 2 4
11 11 10 4
2 15 7 11
2 7 10 14 16 4 11 15
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 25.12.2011, 16:51   #3
dimka123
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 96
По умолчанию

спасиб огромное!
dimka123 вне форума Ответить с цитированием
Старый 26.12.2011, 15:56   #4
dimka123
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 96
Печаль

Цитата:
Сообщение от Mad_Cat Посмотреть сообщение
Код:
const n=4;
var Mx:array[1..n,1..n] of integer;
vc:array[1..n*n] of integer;
i,j,k,m:integer;
f:boolean;
begin
k:=0;
for i:=1 to n do begin
for j:=1 to n do begin
f:=true;
Mx[i,j]:=random(n*n)+1;
for m:=1 to k do
if vc[m]=mx[i,j] then begin f:=false;break;end;
if f then begin k:=k+1; vc[k]:=mx[i,j]; end;
write(mx[i,j],' ');
end;
writeln;
end;
For i:=1 to k do write(vc[i],' ');
readln;
end.
результат
объясни плиз. училка придралась к некоторым вещам.... как цикл может работать от 1 до 0 и что к чему мы присваиваем(какие именно элементы)...или лучше по проще написать программу..оч надо...!
dimka123 вне форума Ответить с цитированием
Старый 26.12.2011, 16:08   #5
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
или лучше по проще написать программу
куда уж проще
Цитата:
как цикл может работать от 1 до 0
а он и не работает
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 26.12.2011, 16:37   #6
dimka123
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 96
По умолчанию

Цитата:
Сообщение от Mad_Cat Посмотреть сообщение
куда уж проще
а он и не работает
эм..тогда в чем смысл данного цикла и дальше.... сначала что к А[m] мы присваиваем какие элементы и какие к А[k]
и какое идет условие после F:=true а какое после false

Последний раз редактировалось dimka123; 26.12.2011 в 16:39.
dimka123 вне форума Ответить с цитированием
Старый 26.12.2011, 16:50   #7
Zer0
Форумчанин
 
Аватар для Zer0
 
Регистрация: 13.12.2007
Сообщений: 788
По умолчанию

можно решить чуточку элегантнее
Код:
const n=5;
var a1:array[1..n,1..n] of byte;
     a2:array[1..n*n] of byte;
     d:set of byte;
     i,j,k:integer;
begin
randomize;
k:=0;
d:=[];
for i:=1 to n do
 for j:=1 to n do begin
   a1[i,j]:=random(n*n);
   if not (a1[i,j] in d) then begin
      inc(k);
      a2[k]:=a1[i,j];
      d:=d+[a1[i,j]];
   end;
 end;

for i:=1 to k do write (a2[i],' ');
writeln;
end.
Mad_Cat, а кто говорил что будет легко
благодарность - сюда (не забываем писать от кого)

Последний раз редактировалось Zer0; 26.12.2011 в 16:55.
Zer0 вне форума Ответить с цитированием
Старый 26.12.2011, 16:51   #8
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Zer0, а при наличие отрицательных элементов вся ваша элегантность летит((
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 26.12.2011, 17:14   #9
dimka123
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 96
По умолчанию

а мжет просто объясните мальчику,как и что получается......и что для чего нужно и что к чему присваивается......к завтрому надо....срочняк.
dimka123 вне форума Ответить с цитированием
Старый 26.12.2011, 17:20   #10
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
а мжет просто объясните мальчику
а может мальчик почитает учебник по паскалю и попробует написать свой вариант проги?
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль. Обработка массивов daniluk Паскаль, Turbo Pascal, PascalABC.NET 3 09.01.2011 00:51
Перевод из массивов в вектора Inconsolable Общие вопросы C/C++ 0 17.10.2010 14:30
Паскаль. Обработка массивов. Pascaler Помощь студентам 13 19.04.2010 19:08
Паскаль.Обработка двумерных массивов. popozoglo Помощь студентам 2 12.02.2010 01:33
Паскаль,формирование массивов. Amenus Помощь студентам 4 10.03.2009 20:33