Форум программистов, компьютерный форум CyberForum.ru

Мусор на выходе программы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ссылка на неразрешённый внешний символ http://www.cyberforum.ru/cpp-beginners/thread982111.html
Помогите найти ошибку в коде. Пишу программу которая считает матрицу методом Крамера для действительных и комплексных чисел. Пишу с использованием Generics. Выдаёт ошибку LNK2019: ссылка на неразрешённый внешний элемент и пишет что это где-то в методе FindingUnknown(). Не могу никак разобраться. #pragma once #include "complex" class Kramer { public: int Size; int n; //размерность...
C++ Написать программу, которая выводит на экран таблицу умножения Написать программу, которая выводит на экран квадрат Пифагора - таблицу умножения. Рекомендуемый вид экрана во время работы программы приведен ниже. 1 1 2 3 4 5 6 7 8 9 10 2 2 4 6 8 10 12 14 16 18 20 3 3 6 9 12 15 18 21 24 27 30 4 4 8 12 16 20 24 28 32 36 40 5 5 10 15 20 25 30 35 40 45 50 6 6 12 18 24 30 36 42 48 54 60 7 7 14 21 28 35 42 49 56 63 70... http://www.cyberforum.ru/cpp-beginners/thread982108.html
C++ class C++
Количество строк: 3. Столбцы: Фамилия, Имя, Род занятий (сотрудник, студент), Год поступления. Вычислить сотрудника, принятого на работу последним. помогите решать задачку !!
C++ Зацикливается программа
Нужно сделать стек из элементов и вывести все положительные значения. Программа на этапе принта зацикливается, посмотрите, что не так: #include <iostream> using namespace std; struct stack { int data; stack *next; }*head;
C++ Заполнить матрицу ЛП, от левого верхнего угла по диагонали вправо — вверх http://www.cyberforum.ru/cpp-beginners/thread982081.html
Помогите пожалуйста с лабораторной . 1. Создать квадратную матрицу целых чисел размером 9х9. В индивидуальных заданиях указано, какую обработку матрицы требуется выполнить. (если по условию задания матрицу следует заполнить случайными числами, рекомендуем выбирать эти числа из диапазона 0 - 99. Если по условию задания в матрицу следует записать ЛП - линейную последовательность чисел, имеется в...
C++ Почему WriteFile не отправляет сообщение по каналу Pipe Почему WriteFile не отправляет сообщение по каналу Pipe ситуация следующая , есть два приложения на с++ я написал сервер который должен транслировать данные для клиента , в функцию отправки написал следующее unsigned long _stdcall WriteTimeSales(void *p) { CString WriteTimeSales="Hello"; DWORD cbWritten; подробнее

Показать сообщение отдельно
Roland Discane
 Аватар для Roland Discane
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 45
20.10.2013, 00:42     Мусор на выходе программы
Доброго времени суток. Дана программа: определённое поле, которое я задаю как двоичный массив, нужно заполнить домами с номерами 1, 2, 3 и 4. 1 здание строится где угодно, 2 только около 1, 3 только около 1 и 2, 4 только около 1, 2 и 3. Отсчёт начинается с 1 клеточки, т.е. с [0][0] позиции. Проблема в том, что иногда появляются нежелательные элементы, т.е. мусор. И я не понимаю, почему так происходит. И при разных значениях поля этот мусор появляется в различных местах. Прошу помощи у форумчан, уже голову сломал. Может в коде где что-то не так указываю.

Кликните здесь для просмотра всего текста

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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
#include <iostream>
 
int main ()
{
    int x, y, p = 0, i = 0, j = 0;
    int blue = 1, red = 2, green = 3, yellow = 4;
    std::cout << "x: ";
    std::cin >> x;
    std::cout << "y: ";
    std::cin >> y;
    std::cout << std::endl;
    int array[x][y];
    for(int i = 0; i < x; i++)              //обнуление
    {
        for(int j = 0; j < y; j++)
        {
            array[i][j] = 0;
        }
    }
    
    for(int i = 0; i < x; i++)
    {
        for(int j = 0; j < y; j++)
        {
            std::cout << array[i][j];
        }
        std::cout << std::endl;
    }
    
    std::cout << std::endl;
    
    array[0][0] = 1;
    //array[4][4] = 3;
    array[4][3] = 1;
    array[5][3] = 3;
    //array[1][0] = 8;
    while(p != 10)
    {
    for(int i = 0; i < x; i++)
    {
        for(int j = 0; j < y; j++)
        {
            if(array[i][j-1] == 1 || array[i-1][j-1] == 1 || array[i-1][j] == 1 || array[i+1][j+1] == 1 || array[i][j+1] == 1)
            {
                if (array[i][j-1] < 0 || array[i][j-1] > 4)
                    array[i][j-1] = 0;
                if (array[i-1][j-1] < 0 || array[i-1][j-1] > 4)
                    array[i-1][j-1] = 0;
                if (array[i-1][j] < 0 || array[i-1][j] > 4)
                    array[i-1][j] = 0;
                if (array[i+1][j+1] < 0 || array[i-1][j+1] > 4)
                    array[i+1][j+1] = 0;
                if (array[i][j+1] < 0 || array[i][j+1] > 4)
                    array[i][j+1] = 0;
                    
                    if(array[i][j-1]+array[i-1][j-1]+array[i-1][j]+array[i+1][j+1]+array[i][j+1] == 1 && array[i][j] == 0)
                    {
                        array[i][j] = 2;
                    }
            }
            
            
            
            if((array[i][j-1]==1 && array[i-1][j-1] == 2 || array[i][j-1]==1 && array[i-1][j]==2 || array[i][j-1]==1 && array[i+1][j+1]==2 || array[i][j-1]==1 && array[i][j+1]==2)
            || (array[i][j-1]==2 && array[i-1][j-1] == 1 || array[i][j-1]==2 && array[i-1][j]==1 || array[i][j-1]==2 && array[i+1][j+1]==1 || array[i][j-1]==2 && array[i][j+1]==1)
            || (array[i-1][j-1] == 1 && array[i-1][j] == 2 || array[i-1][j-1] == 1 && array[i+1][j+1] == 2 || array[i-1][j-1] == 1 && array[i][j+1] == 2)
            || (array[i-1][j-1] == 2 && array[i-1][j] == 1 || array[i-1][j-1] == 2 && array[i+1][j+1] == 1 || array[i-1][j-1] == 2 && array[i][j+1] == 1)
            || (array[i-1][j] == 1 && array[i+1][j+1] == 2 || array[i-1][j] == 1 && array[i][j+1] == 2)
            || (array[i-1][j] == 2 && array[i+1][j+1] == 1 || array[i-1][j] == 2 && array[i][j+1] == 1)
            || (array[i+1][j+1] == 1 && array[i][j+1] == 2)
            || (array[i+1][j+1] == 2 && array[i][j+1] == 1) )
            {
                if (array[i][j-1] < 0 || array[i][j-1] > 4)
                    array[i][j-1] = 0;
                if (array[i-1][j-1] < 0 || array[i-1][j-1] > 4)
                    array[i-1][j-1] = 0;
                if (array[i-1][j] < 0 || array[i-1][j] > 4)
                    array[i-1][j] = 0;
                if (array[i+1][j+1] < 0 || array[i-1][j+1] > 4)
                    array[i+1][j+1] = 0;
                if (array[i][j+1] < 0 || array[i][j+1] > 4)
                    array[i][j+1] = 0;
                    
                    if(array[i][j-1]+array[i-1][j-1]+array[i-1][j]+array[i+1][j+1]+array[i][j+1] < 6 && array[i][j] == 0)
                    {
                        array[i][j] = 3;
                    }
            
            }
            
            if(
            (array[i][j-1] == 1 && array[i-1][j-1] == 2 && array[i-1][j] == 3 || array[i-1][j-1] == 1 && array[i-1][j] == 2 && array[i+1][j+1] == 3 || array[i-1][j] == 1 && array[i+1][j+1] == 2 && array[i][j+1] == 3)
            || (array[i][j-1] == 1 && array[i-1][j-1] == 3 && array[i-1][j] == 2 || array[i-1][j-1] == 1 && array[i-1][j] == 3 && array[i+1][j+1] == 2 || array[i-1][j] == 1 && array[i+1][j+1] == 3 && array[i][j+1] == 2)
            || (array[i][j-1] == 2 && array[i-1][j-1] == 1 && array[i-1][j] == 3 || array[i-1][j-1] == 2 && array[i-1][j] == 1 && array[i+1][j+1] == 3 || array[i-1][j] == 2 && array[i+1][j+1] == 1 && array[i][j+1] == 3)
            || (array[i][j-1] == 2 && array[i-1][j-1] == 3 && array[i-1][j] == 1 || array[i-1][j-1] == 2 && array[i-1][j] == 3 && array[i+1][j+1] == 1 || array[i-1][j] == 2 && array[i+1][j+1] == 3 && array[i][j+1] == 1)
            || (array[i][j-1] == 3 && array[i-1][j-1] == 1 && array[i-1][j] == 2 || array[i-1][j-1] == 3 && array[i-1][j] == 1 && array[i+1][j+1] == 2 || array[i-1][j] == 3 && array[i+1][j+1] == 1 && array[i][j+1] == 2)
            || (array[i][j-1] == 3 && array[i-1][j-1] == 2 && array[i-1][j] == 1 || array[i-1][j-1] == 3 && array[i-1][j] == 2 && array[i+1][j+1] == 1 || array[i-1][j] == 3 && array[i+1][j+1] == 2 && array[i][j+1] == 1)
            || (array[i-1][j-1] == 1 && array[i-1][j] == 2 && array[i+1][j+1] == 3 || array[i-1][j-1] == 1 && array[i+1][j+1] == 2 && array[i][j+1] == 3)
            || (array[i-1][j-1] == 1 && array[i-1][j] == 3 && array[i+1][j+1] == 2 || array[i-1][j-1] == 1 && array[i+1][j+1] == 3 && array[i][j+1] == 2)
            || (array[i-1][j-1] == 2 && array[i-1][j] == 1 && array[i+1][j+1] == 3 || array[i-1][j-1] == 2 && array[i+1][j+1] == 1 && array[i][j+1] == 3)
            || (array[i-1][j-1] == 2 && array[i-1][j] == 3 && array[i+1][j+1] == 1 || array[i-1][j-1] == 2 && array[i+1][j+1] == 3 && array[i][j+1] == 1)
            || (array[i-1][j-1] == 3 && array[i-1][j] == 1 && array[i+1][j+1] == 2 || array[i-1][j-1] == 3 && array[i+1][j+1] == 1 && array[i][j+1] == 2)
            || (array[i-1][j-1] == 3 && array[i-1][j] == 2 && array[i+1][j+1] == 1 || array[i-1][j-1] == 3 && array[i+1][j+1] == 2 && array[i][j+1] == 1)
            || (array[i-1][j] == 1 && array[i+1][j+1] == 2 && array[i][j+1] == 3)
            || (array[i-1][j] == 1 && array[i+1][j+1] == 3 && array[i][j+1] == 2)
            || (array[i-1][j] == 2 && array[i+1][j+1] == 1 && array[i][j+1] == 3)
            || (array[i-1][j] == 2 && array[i+1][j+1] == 3 && array[i][j+1] == 1)
            || (array[i-1][j] == 3 && array[i+1][j+1] == 1 && array[i][j+1] == 3)
            || (array[i-1][j] == 3 && array[i+1][j+1] == 3 && array[i][j+1] == 1)
            )
            {
                if (array[i][j-1] < 0 || array[i][j-1] > 4)
                    array[i][j-1] = 0;
                if (array[i-1][j-1] < 0 || array[i-1][j-1] > 4)
                    array[i-1][j-1] = 0;
                if (array[i-1][j] < 0 || array[i-1][j] > 4)
                    array[i-1][j] = 0;
                if (array[i+1][j+1] < 0 || array[i-1][j+1] > 4)
                    array[i+1][j+1] = 0;
                if (array[i][j+1] < 0 || array[i][j+1] > 4)
                    array[i][j+1] = 0;
                    
                    if(array[i][j-1]+array[i-1][j-1]+array[i-1][j]+array[i+1][j+1]+array[i][j+1] < 15)
                    {
                        array[i][j] = 4;
                    }
                    
            }
        }
    }
    p++;
    }
    
    for(int i = 0; i < x; i++)
    {
        for(int j = 0; j < y; j++)
        {
            std::cout << array[i][j];
        }
        std::cout << std::endl;
    }
    
    return 0;
}



Вот пример выполнения программы при размере поля 9х9
Кликните здесь для просмотра всего текста
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru