Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
начинаю
0 / 0 / 0
Регистрация: 01.12.2014
Сообщений: 3
1

Ошибки в коде, разбор

04.12.2014, 02:41. Просмотров 221. Ответов 1
Метки нет (Все метки)

Есть код программы, при компиляции выдает ошибку.

Постановка задачи:

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



Сам код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
[SPOILER]#include <stdio.h>
#include <stdlib.h>
 
int main() {
    printf("input size of field: ");
    int n;
    scanf("%d", &n);
    int** a = new int*[n]; // ïîëå: 0 - êëåòêГ* Г*ГҐ Г§Г*Г°Г*æåГ*Г*, -k - Г§Г*Г°Г*æåГ*Г* k õîäîâ, +k - èììóГ*ГЁГІГҐГІ k õîäîâ
    int** b = new int*[n];
    for (int i = 0; i < n; i++) {
        a[i] = new int[n];
        b[i] = new int[n];
        for (int j = 0; j < n; j++) 
            a[i][j] = 0;
    }
    a[n/2][n/2] = -1;
 
    for (int time = 1; true; time++) {
        printf("\ntime = %d\n", time);
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; ++j) 
                printf("%c", a[i][j] < 0 ? '*' : (a[i][j] == 0 ? '.' : '#'));
            printf("\n");
        }
 
        printf("continue(y/n)? ");
        char ch;
        scanf(" %c", &ch);
        if (!(ch == 'y' || ch == 'Y')) break;
 
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                if (a[i][j] == -6) 
                    b[i][j] = 1; // êëåòêГ* Г±ГІГ*Г«Г* Г*åâîñïðèèì÷èâîé
                else if (a[i][j] < 0)
                    b[i][j] = a[i][j]-1;
                else if (a[i][j] == 4) 
                    b[i][j] = 0; // êëåòêГ* ïåðåñòГ*Г«Г* áûòü Г*åâîñïðèèì÷èâîé
                else if (a[i][j] > 0)
                    b[i][j] = a[i][j]+1;
                else {
                    // çäîðîâГ*Гї êëåòêГ* Г§Г*Г°Г*Г¦Г*ГҐГІГ±Гї îò ñîñåäГ*ГЁГµ
                    b[i][j] = 0;
                    if (i-1 >= 0 && a[i-1][j] < 0 && rand()*2 > RAND_MAX)
                        b[i][j] = -1;
                    if (i+1 < n && a[i+1][j] < 0 && rand()*2 > RAND_MAX)
                        b[i][j] = -1;
                    if (j-1 >= 0 && a[i][j-1] < 0 && rand()*2 > RAND_MAX)
                        b[i][j] = -1;
                    if (j+1 < n && a[i][j+1] < 0 && rand()*2 > RAND_MAX)
                        b[i][j] = -1;
                }
            }
        }
        int** tmp = a;
        a = b;
        b = tmp;
    }
 
    for (int i = 0; i < n; i++) {
        delete[] a[i];
        delete[] b[i];
    }
    delete[] a;
    delete[] b;
    return 0;
}
[/SPOILER]
и + если можно помогите перевести это из консольной версии в форму

Добавлено через 1 час 25 минут
Ошибку нашел, но в форму пока перенести не удалось
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2014, 02:41
Ответы с готовыми решениями:

Разбор ошибки в коде
Не могу понять ошибку в коде. После void main(); проблема с фигурной скобкой. Пишет что отсутствует...

Разбор Ошибки LNK1120
Как посмотреть что за неразрешенные элементы ? P/s/ Вообще вопрос вытек от сюда...

Найти ошибки в коде и исправить эти ошибки (Наследование)
Вот в общем 3 файла, изучаю наследование на примере односвязного и двусвязного списков: list.h...

Найти ошибки в коде и исправить эти ошибки - C++
Судя по вываливающейся ошибки, идет двойное освобождение памяти. У самого не получается отловить...

Найти ошибки в коде и исправить эти ошибки
Есть у меня вот такой код: #include &lt;iostream&gt; using namespace std; class A{ private:...

1
Fene4ka_
102 / 102 / 40
Регистрация: 24.01.2014
Сообщений: 1,244
04.12.2014, 04:12 2
начинаю, на шарпе сделайте форму
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2014, 04:12

Разбор ошибки при выделении массива заданного размера
Вообщем пишу код конкатенации строк. Простейшее упражнение из Праты. Вводим фамилию, имя. Программа...

ошибки в коде с }
source_file.cpp: In function 'void twoo()': source_file.cpp:238:19: error: a function-definition...

ошибки в коде
#include &lt;iostream&gt; #include &lt;locale.h&gt; using namespace std; class Massiv { public :...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru