Тема: Пробелы
Показать сообщение отдельно
Старый 23.07.2010, 16:37   #19
den
Дэвелопер
 
Аватар для den
 
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений
(для 2,419 пользователей)
Ответ: Пробелы

Проболжаем тему ламерских вопросов:
#include <iostream>
using namespace std;
int dx[]={0,1,0,-1};
int dy[]={-1,0,1,0};
char m[100][100];
int w,h;
int f()
{
	int n=0;
	for(int i=0;i<w;i++)
	{
		for(int j=0;j<h;j++)
		{
			if(m[i][j]=='*')
			{
					for(int k=0;k<4;k++)
					{
						if(i+dx[k]>=0 && i+dx[k]<w && j+dy[k]>=0 && j+dy[k]<h)
							m[i+dx[k]][j+dy[k]]='*';
					}
			}
		}
	}
	for(int i=0;i<w;i++)
	{
		for(int j=0;j<h;j++)
		{
			if(m[i][j]=='.') n++; 
		}
	}
	return n;
	f();
}
void main()
{
	int mm=0,xod=0;
	cin>>w>>h;
	for(int i=0;i<w;i++)
	{
		for(int j=0;j<h;j++)
		{
			cin>>m[i][j];
		}
	}
	for(int i=0;i<w;i++)
	{
		for(int j=0;j<h;j++)
		{
			if(m[i][j]=='.') mm++;
		}
	}
	while(mm!=0)
	{
		mm=f();
		xod++;
	}
		cout<<xod;
}
Почему когда "*" в верхнем и/или левом ряду/столбце прога выдает ''1" ??
(Offline)
 
Ответить с цитированием