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

Задачи для тренировки и лучшего понимания - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Возможно переписать программу? http://www.cyberforum.ru/cpp/thread153534.html
Есть программа Upgrade UA.exe хочу запустить ее на windows mobile 6. Возможно ли ее переписать.
C++ scanf Пусть нужно читать из текста слова, пропуская все символы, кроме a-z и A-Z. То есть из текста Hello, world! ololo O_o получить только Hello world ololo O o Меня интересует, можно ли это... http://www.cyberforum.ru/cpp/thread153153.html
C++ Вернуть stdin в консоль
Допустим я перенаправил поток stdin/stdout в файл с помощью функции freopen. Как заставить его снова работать с консолью? Добавлено через 9 минут Нашел. #include <cstdlib> #include <stdio.h>...
Прошу помочь.Подключение dll на неуправляемом С/С++ C++
Возникла проблема.Есть рабочая dll, необходимо подключить к CLR приложению. Подключение происходит нормально. Все функции работают нормально кроме одной(хотя dll проверял все работает в обычных...
C++ Не сразу закрывающаяся программа http://www.cyberforum.ru/cpp/thread152799.html
Есть команды в терминале.. вроде telnet или sql, эти программы запускаешь и они остаются открытыми пока не дашь команду, например, quit. Во время работы программы она показывает знак приглашения...
C++ Парсер на С вопшем есть файл с текстом..... в етом файле есть какие даные(мусор)...и есть дни: Понедельник,Вторник,среда......с етого файла нада вывести ети дни в порядке нахождениэ... ето походу несложная... подробнее

Показать сообщение отдельно
nikkka
Мат в 32 хода
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
19.07.2010, 09:14
Nameless One, спасибо!
Добавлено через 10 минут
Значит так.
Начел писать игру про "жизнь".
Получилость 3 фаила - cell.h, cell.cpp и cell_main.cpp (обявление класса, реализация функций класса и клиентский фаил).
Программа должно пока ПРОСТО ВЫВОДИТЬ НА ЭКРАН НАЧАЛЬНУЮ СТАДИЮ РАЗВИТИЯ КЛЕТОК.
Но она не делет даже этого.
Должна вывести что то типа этого:
Код
 0 00 0  0   0  
0   0 0  0 0 0  
 0 0  0 00  00  
00 00  0     0  
 0  0 0  0  00
"0" означает живую клетку, а " " мёртвую.

cell.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#ifndef _CELL_H_
#define _CELL_H_
class Cell
{
    private:
        bool state;                                 //состояние клетки: true/false = жива/мертва
    public:                
        Cell();
        bool isalive(void);                       //проверяет, жива ли клетка
        bool isdead(void);                       //проверяет, мертва ли клетка. в принципе, можно было бы  обойтись только функцией isalive(), но всё таки 
        void setalive(void);                     //"оживляет" клетку
        void setdead(void);                     //"убивает" клетку
        void setto(int i);                         //убивает/оживлаят клетку. работает на rand().
};
#endif
cell.cpp
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
#include "cell.h"
#include <iostream>
#include <string.h>
 
bool Cell::isalive(void)
{
    if (state==true)
        return true;
    else if (state==false)
             return false;
};
bool Cell::isdead(void)
{
    if (state==false)
        return true;
    else if (state==true)
             return false;
};
void Cell::setalive(void)
{
    state=true;
};
void Cell::setdead(void)
{
    state=false;
};
Cell::Cell()
{
};
void Cell::setto(int i)
{
    if (i==1)
        setalive();
    else if (i==0)
             setdead();
         else std::cout<<"\nError\n";
};
cell_main.cpp
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
#include <iostream>
#include <time.h>
#include "cell.h"
#include "cell.cpp"
int main()
{
    srand(time(NULL));
    std::cout<<"Enter the size of array: ";
    int nn;
    std::cin>>nn;
    const int n=nn;
    std::cout<<"Enter the amount of live cells: ";
    int kk;
    std::cin>>kk;
    const int k=kk;
    Cell field[n][n];
    int m,l;
    for(int m;m<n;m++)
    {
        for(int l;l<n;l++)
        {
            field[m][l].setto(rand()%2);
        };
    };
    for(int m;m<n;m++)
    {
        for(int l;l<n;l++)
        {
            if (field[m][l].isalive())
                std::cout<<"0";
            if (field[m][l].isdead())
                std::cout<<" ";
        };
        std::cout<<"\n";
    };
    std::cin>>l;
    return 0;
}
Программа не работает.
В чём дело? :-S
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru