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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.12.2013, 10:07   #11
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

И что где матерится?тыц
Цитата:
Переделывать на чтение файла не хочется, но если автор сделает, то погоняю тесты.
Код:
Assign(input, 'input.txt'); Reset(input); 
Assign(output, 'output.txt'); Rewrite(output);
Poma][a вне форума Ответить с цитированием
Старый 27.12.2013, 11:24   #12
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,883
По умолчанию

Я про то, что я уматерился ) фигурально, конечно.
Насчёт перенаправления потока не подумал, сел гонять.
Код:
5 5 
1 0 1 0 0 
0 0 1 1 1 
1 0 0 0 1 
1 0 0 0 1 
1 0 1 0 1
Код:
1 2
3 1
пичал

У Аватара всё гуд ) осталась визуализация

Последний раз редактировалось phomm; 27.12.2013 в 11:31.
phomm вне форума Ответить с цитированием
Старый 27.12.2013, 15:10   #13
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Ага.. Мой косяк.. поправил..
Код:
uses Math;
const
        SIZE = 100;
var
        mtx : array [0..SIZE, 0..SIZE] of Integer;
function Value(x, y : Integer) : Integer;
var
	cnt : Integer;

begin
	cnt := 0;

	if mtx[x-1, y] = 1 then begin
		mtx[x-1, y] := 0;
		Inc(cnt, Value(x-1, y)+1)
	end;

	if mtx[x+1, y] = 1 then begin
		mtx[x+1, y] := 0;
		Inc(cnt, Value(x+1, y)+1)
	end;

	if mtx[x, y-1] = 1 then begin
		mtx[x, y-1] := 0;
		Inc(cnt, Value(x, y-1)+1)
	end;

	if mtx[x, y+1] = 1 then begin
		mtx[x, y+1] := 0;
		Inc(cnt, Value(x, y+1)+1)
	end;

	Value := cnt
end;

var
	a : array [0..SIZE*SIZE] of Integer;
	n, m, i, j : Integer;

begin
        ReadLn(n, m);


        for i := 1 to SIZE do
		a[i] := 0;

	for i := 1 to n do
		for j := 1 to m do
			Read(mtx[i,j]);

	for i := 0 to n+1 do begin
		mtx[i, 0] := -1; mtx[0, i] := -1;
		mtx[i, n+1] := -1; mtx[n+1, i] := -1
	end;

	for i := 1 to n do
		for j := 1 to m do
			if mtx[i, j] = 1 then begin
                                mtx[i, j] := 0;
				Inc(a[Value(i, j)+1]);
                        end;

	for i := 1 to n*m do
		if a[i] <> 0 then
			WriteLn(i, ' ', a[i])
end.
Poma][a вне форума Ответить с цитированием
Старый 27.12.2013, 15:49   #14
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
осталась визуализация
Поигрался немножко и добавил не большую, но зато графическую
Код:
var ...
    BitMap: TBitMap;
    cr,cg,cb: Byte;
...
  {Визуализация}
  BitMap:=TBitMap.Create;
  BitMap.Width:=n*8;
  BitMap.Height:=m*8;
  for i:=0 to n-1 do
    for j:=0 to m-1 do
      if a[i,j].X=1 then begin
        v:=(b[a[i,j].Y-1]-1) mod 9;
        cr:=0; cg:=0; cb:=0;
        case v of
        0..2: cg:=255-v*85;
        3..5: cb:=255-(v-3)*85;
        6..8: cr:=255-(v-6)*85;
        end;
        BitMap.Canvas.Brush.Color:=RGB(cr,cg,cb);
        BitMap.Canvas.FillRect(Rect(i*8,j*8,i*8+8,j*8+8));
      end;
  Image1.AutoSize:=True;
  Image1.Picture.Assign(BitMap);
  BitMap.Free;
  {Сортировка}
...
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка " is not a valid floating point value " (не правильная плавающая величина точки) kta87 Помощь студентам 5 27.09.2012 19:37
Паскаль, Борланд Паскаль-в чем разница??? Vremya-Dengy Паскаль, Turbo Pascal, PascalABC.NET 13 31.05.2011 18:23
Как называется величина? zaport Помощь студентам 2 21.04.2011 04:21
Величина изменения данных текущей даты от предыдущей в сводных таблицах. Strelec79 Microsoft Office Excel 0 05.08.2009 19:20
Распознование пятен Yusya Помощь студентам 1 04.03.2009 16:27