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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2010, 14:33   #1
K-irsan
Новичок
Джуниор
 
Регистрация: 02.12.2010
Сообщений: 1
По умолчанию Мониторинг. моделирование в виде динамического массива

В общем, задание :
С++

Задача об инфекции стригущего лишая
Промоделировать процесс распространения инфекции — стригущего лишая по участку кожи размером п х п (п — нечетное) клеток. Предполагается, что исходной зараженной клеткой кожи является центральная. В каждый интервал времени пораженная инфекцией клетка может с вероятностью 0,5 заразить любую из соседних здоровых клеток. По прошествии шести единиц времени зараженная клетка становится невосприимчивой к инфекции, возникший иммунитет действует в течение последующих четырех единиц времени, а затем клетка оказывается здоровой. В ходе моделирования описанного процесса выдавать текущее состояние моделируемого участка кожи в каждом интервале времени, отмечая зараженные, невосприимчивые к инфекции и здоровые клетки.


вот мой листинг

Цитата:
#include <iostream.h>
#include <math.h>


main()
{
int n;
double** a;
int **b;
int i;
int j;
double answer=1;
cout<<"vvod n\n"<<endl;
cin>>n;
a=new double* [n];
for(i=0;i<n;i++)
a[i]=new double [n];
b=new int* [n];
for(i=0;i<n;i++)
b[i]=new int [n];






for(i=0;i<n;i++);
{
for(j=0;j<n;j++)
{
a[i][j]=0;
b[i][j]=0;
if (i==(n+1)/2) if (j==(n+1)/2) a[i][j]=1;;
cout<<a[i][j]<<endl;
}
cout<<endl;
}





do
{
double x=0;
double y=0;
double z=0;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if (a[i][j]=1)
{
if (i-1>=0 && i-1<n && j-1>=0 && j-1<n)
if (a[i-1][j-1]=0) a[i-1][j-1]=1.1;
}
{
if (i>=0 && i<n && j-1>=0 && j-1<n)
if (a[i][j-1]=0) a[i][j-1]=1.1;
}
{
if (i+1>=0 && i+1<n && j-1>=0 && j-1<n)
if (a[i+1][j-1]=0) a[i+1][j-1]=1.1;
}
{
if (i-1>=0 && i-1<n && j>=0 && j<n)
if (a[i-1][j]=0) a[i-1][j]=1.1;
}
{
if (i+1>=0 && i+1<n && j>=0 && j<n)
if (a[i+1][j]=0) a[i+1][j]=1.1;
}
{
if (i-1>=0 && i-1<n && j+1>=0 && j+1<n)
if (a[i-1][j+1]=0) a[i-1][j+1]=1.1;
}
{
if (i>=0 && i<n && j+1>=0 && j+1<n)
if (a[i][j+1]=0) a[i][j+1]=1.1;
}
{
if (i+1>=0 && i+1<n && j+1>=0 && j+1<n)
if (a[i+1][j+1]=0) a[i+1][j+1]=1.1;
}
}
}


for(i=0;i<n;i++);
{
for(int j=0; j<n; j++);
{
if (a[i][j]<2)
{
if (a[i][j]<1) x=x+1;
else ;
{
a[i][j] = abs(a[i][j]);
b[i][j]++;
if (b[i][j]=6)
{
a[i][j]=2;
b[i][j]=0;
z=z+1;
y=y+1;
}
else ;
}
}
else;
{
b[i][j]=b[i][j]+1;
if (b[i][j]=4)
{
a[i][j]=0;
b[i][j]=0;
x=x+1;
}
else z=z+1;
}

}
}


cout<<"massiv"<<endl;
for(int k=0;k<n;k++);
{
for(int l=0;l<n;l++);
{
cout<<a[k][l];
}
cout<<endl;
}
cout<<"ne zarajeno"<< x <<"kletok"<<endl;
cout<<"zarajeno"<< y <<"kletok"<<endl;
cout<<"imunno"<< z <<"kletok"<<endl;
cout<<"budem prodoljat'? da=1, net=any other"<<endl;
cin>>answer;
}while (answer=1);
return 0;
}

помогите найти ошибку. Сам Си ошибку не распознаёт, но выдаёт ошибку приложения после ввода размерности n.

Последний раз редактировалось K-irsan; 02.12.2010 в 14:48.
K-irsan вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Содержание динамического массива Bish Microsoft Office Excel 6 18.05.2010 15:45
очистка динамического массива BattleMage Общие вопросы C/C++ 1 19.09.2009 09:03
Освобождение динамического массива? VintProg Общие вопросы Delphi 15 28.08.2009 10:41
Сохранение динамического массива Horus92 Помощь студентам 3 07.05.2009 12:36
Удаление динамического массива Сергей089 Общие вопросы C/C++ 3 08.03.2009 13:13