Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Массивы

-

Вопросы и ответы, обсуждения

- Ваши вопросы по Pascal/Delphi только в данном разделе

Ответ
 
Опции темы
Старый 27.11.2012, 21:20   #1
 Разведчик
Аватар для Пиу Пиуу
 
Пиу Пиуу на правильном путиПиу Пиуу на правильном пути
Регистрация: 11.06.2012
Сообщений: 23
Популярность: 118
Сказал(а) спасибо: 53
Поблагодарили 49 раз(а) в 26 сообщениях
Отправить сообщение для Пиу Пиуу с помощью Skype™
 
По умолчанию Массивы

Код:
var mas:array[1..5,1..10] of integer;
    a,c,w,i:integer;
    b:integer;
begin
w:=0;
for i:=1 to 10 do
 begin
a:=random(20);
b:=a div 1;
b:=mas[i];
b:=c;
 if (b=c) then 
 w:=w+1;
 end;
  for j:=1 to 5 do
  begin
  a:=random(20);
  b:=a div 1;
  b:=mas[i,j];
  b:=c;
   if (b=c) then
   w:=w+1;
  end;
writeln(w);
readln;
End.
С массивами я имел дело очень давно и то поверхностно задача такова , дано двухмерный массив(5х10) , нужно задать рандомно число от 1 до 20 каждому элементу массива и высчитать сколько получилось одинаковых элементов , код выше , подскажите пожалуйста в чем не правильно?
________________
Кто то играет на евро 7?
  Ответить с цитированием
Старый 27.11.2012, 21:35   #2
 Разведчик
Аватар для mad_cat
 
mad_cat скоро будет известенmad_cat скоро будет известенmad_cat скоро будет известенmad_cat скоро будет известенmad_cat скоро будет известен
Регистрация: 22.11.2012
Сообщений: 2
Популярность: 464
Сказал(а) спасибо: 0
Поблагодарили 22 раз(а) в 13 сообщениях
Отправить сообщение для mad_cat с помощью Skype™
 
По умолчанию Re: Массивы

Цитата:
нужно задать рандомно число от 1 до 20 каждому элементу массива и высчитать сколько получилось одинаковых элементов

всего сколько одинаковых? например так
Код:
const m=5;n=10;
var a,b:array[1..m,1..n] of integer;
    i,j,k,p,s:integer;
    f:boolean;
begin
randomize;
writeln('Исходная матрица:');
for i:=1 to m do
 begin
  for j:=1 to n do
   begin
    a[i,j]:=random(20)+1;
    b[i,j]:=0;
    write(a[i,j]:3);
   end;
  writeln;
 end;
writeln;
writeln('=======================');
for i:=1 to m do
for j:=1 to n do
for k:=1 to m do
for p:=1 to n do
if(a[k,p]=a[i,j])and((k<>i)or(p<>j)) then b[i,j]:=1;
s:=0;
for i:=1 to m do
for j:=1 to n do
if b[i,j]=1 then inc(s);
write('Количество повторяющихся элементов=',s);
readln;
end.
Цитата:
Исходная матрица:
12 2 7 9 12 19 9 8 17 14
10 1 16 11 1 6 14 15 8 5
3 10 3 8 14 19 11 10 17 1
6 8 13 7 3 5 17 16 3 1
7 12 17 13 7 15 19 5 16 18

=======================
Количество повторяющихся элементов=48

или вывести
Элемент - количество раз
Код:
uses crt;
const m=5;n=10;
var a:array[1..m,1..n] of integer;
    b:array[1..20] of byte;
    i,j,s:integer;
    f:boolean;
begin
randomize;
for i:=1 to 20 do
b[i]:=0;
writeln('Исходная матрица:');
for i:=1 to m do
 begin
  for j:=1 to n do
   begin
    a[i,j]:=random(20)+1;
    b[a[i,j]]:=b[a[i,j]]+1;
    write(a[i,j]:3);
   end;
  writeln;
 end;
writeln;
writeln('=======================');
s:=0;
for i:=1 to 20 do
begin
Writeln(i,' встречается ',b[i]:4,' раз');
if b[i]>1 then s:=s+b[i];
end;
Writeln('Всего повторяющихся:',s);
readln;
end.

Последний раз редактировалось mad_cat; 27.11.2012 в 22:00.
  Ответить с цитированием
Пользователь сказал cпасибо:
Пиу Пиуу (27.11.2012)
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Помогите!] Двумерные динамические массивы wowkarus Вопросы и ответы, обсуждения 0 19.05.2012 22:34
[Помогите!] массивы Kp0c123456 Вопросы и ответы, обсуждения 11 04.02.2012 12:26

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 02:18.

Пишите нам: forum@zhyk.ru
Copyright © 2025 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net