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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2011, 14:44   #1
DarKsp
 
Регистрация: 10.01.2011
Сообщений: 6
По умолчанию Работа с массивами и матрицами (Паскаль)

Помогите пожалуйста решить такие вот задачки:

1. В целочисленном массиве K(n) много повторяющихся элементов. Найти (в процентах) частоту появления каждого из m наиболее часто встречающихся элементов (m<<n)

2. В массиве X(m,n) каждый элемент (кроме граничных) заменить суммой непосредственно примыкающих к нему элементов по вертикали, горизонтали и диагоналям


3. Турнирная таблица. В матрице K(n,n) представлена турнирная таблица соревнований по футболу среди n участников (каждый элемент Aij матрицы есть число голов, забитых i-м участником j-му участнику); все элементы главной диагонали равны нулю. Присвоить каждому диагональному элементу разницу забитых и пропущенных голов соответствующего участника, то есть разность между суммами элементов соответствующих строки и столбца.


З.Ы. За ранее спасибо!!!!!
DarKsp вне форума Ответить с цитированием
Старый 10.01.2011, 15:02   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Могу помочь за вознаграждение! Ася в профиле!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 10.01.2011, 18:16   #3
DarKsp
 
Регистрация: 10.01.2011
Сообщений: 6
По умолчанию

Мозговитых больше нету? Помогите первокурснику...
DarKsp вне форума Ответить с цитированием
Старый 10.01.2011, 22:21   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,821
По умолчанию

Тут нужны мозги? Тупой кодинг... ЗА ВАС программы пишут во фрилансе.
p51x вне форума Ответить с цитированием
Старый 10.01.2011, 22:42   #5
DarKsp
 
Регистрация: 10.01.2011
Сообщений: 6
По умолчанию

2 и 3 задачу сам сделал, первую с процентами не могу написать. Напишите кто знает как делать, если можно с описью алгоритма написания
DarKsp вне форума Ответить с цитированием
Старый 10.01.2011, 23:46   #6
DarKsp
 
Регистрация: 10.01.2011
Сообщений: 6
По умолчанию

Кому может понадобится, вот решение второй и третей задач.

2.
program Project4;

{$APPTYPE CONSOLE}

uses
SysUtils;

const n=30;
type mas=array [1..n,1..n] of integer;
procedure vvod0 (var m:mas; k,l:integer);
var i,j:integer;
begin
for I := 1 to k do
for j := 1 to l do
begin
write('Vvedite element pod nomerom [',i,',',j,'] ');
readln(m[i,j])
end;
end;
procedure vvod1 (var m:mas; k,l:integer);
var i,j:integer;
begin
for i := 1 to k do
for j := 1 to l do
m[i,j]:=random(5)
end;
procedure vivod (m:mas; k,l:integer);
var i,j:integer;
begin
for i := 1 to k do
begin
for j := 1 to l do
write(m[i,j]:4);
writeln
end;
end;

var x,y:mas; zz:boolean; p,xx,z,d,r,s,i,j,t,k:integer;

begin
randomize;
write('Vvedite kolichestvo strok <=30 ');
readln(r);
write('Vvedite kolichestvo stolbcov <=30 ');
readln(s);
write('Kak zapolnyat massiv? (0 - random, 1 - vvod) ' );
readln(d);
if d=0
then vvod1(x,r,s)
else vvod0(x,r,s);
vivod(x,r,s);
y:=x;
for i:=2 to r-1 do
for j:=2 to s-1 do
x[i,j]:=y[i-1,j]+y[i+1,j]+y[i,j+1]+y[i,j-1]+y[i-1,j-1]+y[i+1,j+1]+y[i+1,j-1]+y[i-1,j+1];
vivod(x,r,s);
readln
end.



3.
program Project3;

{$APPTYPE CONSOLE}

uses
SysUtils;

const n=30;
type mas=array [1..n,1..n] of integer;
procedure vvod0 (var m:mas; k:integer);
var i,j:integer;
begin
for I := 1 to k do
for j := 1 to k do
begin
write('Vvedite element pod nomerom [',i,',',j,'] ');
readln(m[i,j])
end;
end;
procedure vvod1 (var m:mas; k:integer);
var i,j:integer;
begin
for i := 1 to k do
for j := 1 to k do
m[i,j]:=random(100)
end;
procedure vivod (m:mas; k:integer);
var i,j:integer;
begin
for i := 1 to k do
begin
for j := 1 to k do
write(m[i,j]:4);
writeln
end;
end;
var k:mas; s1,s2,d,r,i,j,t:integer;
begin
randomize;
write('Vvedite razmer <=30 ');
readln(r);
write('Kak zapolnyat massiv? (0 - random, 1 - vvod) ' );
readln(d);
if d=0
then vvod1(k,r)
else vvod0(k,r);
for i :=1 to r do
k[i,i] :=0;
for i:=1 to n do
begin
s1:=0; s2:=0;
for j:=1 to n do begin
s1:=s1+K[i,j];
s2:=s2+K[j,i] end;
k[i,i]:=s1-s2 end;
vivod(k,r);
readln
end.
DarKsp вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с массивами (матрицами) Delphi Сабина90 Помощь студентам 1 30.11.2010 03:23
Работа с матрицами в Паскаль A_Orlov Паскаль, Turbo Pascal, PascalABC.NET 2 10.06.2010 11:38
Работа с матрицами, Турбо Паскаль Dell2dimka Помощь студентам 6 13.03.2010 18:10
Паскаль.Работа с массивами NightFire Помощь студентам 3 28.03.2009 22:25