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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.01.2008, 18:50   #1
Стасек
 
Регистрация: 16.01.2008
Сообщений: 7
По умолчанию Paskal.Матрица

Помогите пожалуйста,никак не выходит.
Данна матрица размерности m < 20,элементы которой 0,1,5,11 заполняются случайно.Надо подсчитать сколько в матрице квадратов,где все 4 числа различны и выделить их цветом или еще как.

Решил частично.Подсчитал кол-во квадратов.Принцип такой:если в квадрате сумма = 17,то ++.А выделить цветом не выходит((((
Пожалуйста,помогите.
Вот код программы

program matr;
uses crt;
type mas=array [1..20,1..20] of real;
var uk:mas; m,i,j,r,k:integer;
con:array [1..4] of real;

begin
k:=0;
randomize;
con[1]:=0;
con[2]:=1;
con[3]:=5;
con[4]:=11;
writeln ('vvedite m m<20 ');readln(m);
{getmem (uk,sizeof(real)*m*m);}
for i:=1 to m do
for j:=1 to m do
begin
r:=random(4) + 1;
case r of
1: uk[i,j]:=0 ;
2: uk[i,j]:=1 ;
3: uk[i,j]:=5 ;
4: uk[i,j]:=11 ;
end;
end;

For i:=1 to m-1 do

for j:=1 to m-1 do
begin
If ((uk[i,j]+uk[i+1,j]+uk[i,j+1]+uk[i+1,j+1])=17) then k:=k+1;
end;

for i:=1 to m do
begin
writeln;
for j:=1 to m do write(uk[i,j]:5:0);
end;
Writeln(' ',k);
readln;
end.

Последний раз редактировалось Стасек; 20.01.2008 в 19:05.
Стасек вне форума Ответить с цитированием
Старый 20.01.2008, 21:47   #2
darkstarx
Пользователь
 
Регистрация: 20.01.2008
Сообщений: 24
По умолчанию

Вам сначала необходимо после генерации матрицы вывести ее на экран например черными симвлоами по белому, потом выполнить тот самый ваш цикл

Код:
for j:=1 to m-1 do
begin
If ((uk[i,j]+uk[i+1,j]+uk[i,j+1]+uk[i+1,j+1])=17) then k:=k+1;
end;
но только внутри помимо увеличения счетчика k выполнить перерисовку четырех элементов квадрата например синим цветом, вместо черного. Кстати счетчик здесь может вам помочь при выборе цвета для выделения очередного квадрата (например color:=k+1)

в конце показать на экран число k. млм у вас технические проблемы с выводом на экран текста другим цветом?
darkstarx вне форума Ответить с цитированием
Старый 20.01.2008, 23:29   #3
Стасек
 
Регистрация: 16.01.2008
Сообщений: 7
По умолчанию

Спасибо вам большое!
а как осуществить перерисовку четырех элементов?И потом вывести что нужно синим,а остальное черным?

Последний раз редактировалось Стасек; 20.01.2008 в 23:33.
Стасек вне форума Ответить с цитированием
Старый 21.01.2008, 18:28   #4
Стасек
 
Регистрация: 16.01.2008
Сообщений: 7
По умолчанию

Неужели никто не поможет бедному дервишу?(((
Стасек вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлами (Paskal) Катериша Помощь студентам 2 12.05.2008 19:38
Задача на записи (Paskal) Paskal??? Помощь студентам 3 20.04.2008 21:40
Paskal-Cikly Kira Помощь студентам 1 05.04.2007 18:32
Paskal. Числовая последовательность. Flash_ Помощь студентам 10 18.01.2007 16:52