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

Странные значения в созданном массиве - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Прога не всегда работает правильно.. http://www.cyberforum.ru/cpp-beginners/thread229931.html
Задача: Построить максимальное множество, состоящее из попарно не сравнимых векторов v. Векторы v определяются парами чисел, выбираемые из данной последовательности чисел а1, ..аn , n>=1. Два вектора v=(а,в) и v'=(а',в') называются сравнимыми, если а<=а' и в<=в' или а>=а' и в>= в', в противном случае не сравнимыми. Псевдокод: Пусть числа a, ..a расположены в порядке неубывания (если это...
C++ не открывается фаил #include<stdio.h> #include<conio.h> #include<malloc.h> #include<string.h> #include<iostream> using namespace std; struct queue { char disk_name; http://www.cyberforum.ru/cpp-beginners/thread229915.html
Как задать точность округления в среде разработки? C++
Недавно столкнулся с тем, что любая переменная вещественного типа при инициализации и выводе этой же переменной на экран отображается лишь с шестью знаками. К примеру, если присвоить х = 10900.0905, то на экран выведется 10900.1 Интереса ради, завел переменную y=10900 и вычел ее из x (все переменные типа float). И, что бы вы думали, получилось? z=x-y = 0.0908203 Хотя результат уже почему-то до 6...
C++ Рекурсия: Написать функцию умножения двух чисел, используя только операцию сложения
Написать функцию умножения двух чисел, используя только операцию сложения. (помогите с решением)
C++ прога для интерпретации #define http://www.cyberforum.ru/cpp-beginners/thread229897.html
надо реализовать простой препроцессор языка С, способный выполнять замены в тексте, заданные с помощью директивы #define (в том числе нерекурсивные макросы)
C++ в чём ошибка void load_file (queue *q) { char path; int count=0; system("cls"); printf ("\nVvedite put', imja i rashirenie faila\n"); scanf ("%s", &path); fa=fopen(path,"r"); for (int i=1;i<=counter;i++) { подробнее

Показать сообщение отдельно
paulbilkis
0 / 0 / 0
Регистрация: 17.01.2011
Сообщений: 8
17.01.2011, 01:06  [ТС]     Странные значения в созданном массиве
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
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
 
#define AREA_X 15
#define AREA_Y 10
 
int n_x = AREA_X - 1;
int n_y = AREA_Y - 1;
 
bool area[AREA_X][AREA_Y];
 
int alive_count ( int x, int y )
{
    return area[x][y-1] + area[x][y+1] + area[x-1][y] + area[x+1][y] + area[x-1][y-1] + area[x-1][y+1] + area[x+1][y-1] + area[x+1][y+1];
}
 
void print_area ( void )
{
    int x, y;
    
    for ( y = 0; y <= n_y; ++y )
    {
        for ( x = 0; x <= n_x; ++x )
        {
            if (area[x][y])
                printf ("#");
            else
                printf ("*");
        }
        printf ("\n");
    }
}
 
void next_area_g ( void )
{
    int x, y, alive;
    bool next_area[AREA_X][AREA_Y];
    
    long long int array_size = sizeof( bool ) * ( AREA_X * AREA_Y );
    
    for ( y = 0; y <= n_y; ++y )
    {
        for ( x = 0; x <= n_x; ++x )
        {
            alive = alive_count ( x, y );
            if ( area[x][y] )
            {
                if ( alive < 2 || alive > 3 )
                    next_area[x][y] = false;
                else
                    next_area[x][y] = true;         
            }else
            {
                if ( alive == 3 )
                    next_area[x][y] = true;
            }
        }
    }
    
    memcpy ( area, next_area, array_size );
}
 
int main ( void )
{
    int g, count_generations;
    
    area[4][3] = true;
    area[4][4] = true;
    area[4][5] = true;
    area[5][5] = true;
    area[6][4] = true;
    
    printf ( "Введите колличество поколений: " );
    scanf ( "%i", &count_generations );
    print_area ();
    
    for ( g = 1; g <= count_generations; ++g )
    {
        printf ( "\n" );
        next_area_g ();
        print_area ();
    }
    
    return 0;
}
Заранее прошу за логические и алгоритмические ошибки особо не пинать, вторую неделю Си изучаю.
 
Текущее время: 16:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru