Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Возможно переписать программу? https://www.cyberforum.ru/ cpp/ thread153534.html
Есть программа Upgrade UA.exe хочу запустить ее на windows mobile 6. Возможно ли ее переписать.
scanf C++
Пусть нужно читать из текста слова, пропуская все символы, кроме a-z и A-Z. То есть из текста Hello, world! ololo O_o получить только Hello world ololo O o Меня интересует, можно ли это...
C++ Вернуть stdin в консоль
Допустим я перенаправил поток stdin/stdout в файл с помощью функции freopen. Как заставить его снова работать с консолью? Добавлено через 9 минут Нашел. #include <cstdlib> #include <stdio.h>...
C++ Прошу помочь.Подключение dll на неуправляемом С/С++ Возникла проблема.Есть рабочая dll, необходимо подключить к CLR приложению. Подключение происходит нормально. Все функции работают нормально кроме одной(хотя dll проверял все работает в обычных... https://www.cyberforum.ru/ cpp/ thread152917.html
C++ Не сразу закрывающаяся программа https://www.cyberforum.ru/ cpp/ thread152799.html
Есть команды в терминале.. вроде telnet или sql, эти программы запускаешь и они остаются открытыми пока не дашь команду, например, quit. Во время работы программы она показывает знак приглашения...
C++ Парсер на С
вопшем есть файл с текстом..... в етом файле есть какие даные(мусор)...и есть дни: Понедельник,Вторник,среда......с етого файла нада вывести ети дни в порядке нахождениэ... ето походу несложная...
C++ Кто нибудь подскажет где можно найти исходник С/C++ алгоритм сжатия
Народ помогите, у меня времени нет чтобы самому разрабатывать алгоритм сжатия очень нужен алгоритм ещё лучше если на Asm (MMX, SSE2-3, SIMD) чтобы без потери данных а с восстановлением. Может какие...
C++ ANSI или UNICODE Всем привет!!! У меня возникла такая ситуация что использовать в WinApi программирование ANSI или UNICODE, где-то читал, что UNICODE работает быстрее, чем ANSI, так как при использование ANSI он ... https://www.cyberforum.ru/ cpp/ thread151437.html
C++ mingw и lib https://www.cyberforum.ru/ cpp/ thread151211.html
Как в mingw в коде подключить файл lib, #pragma comment(lib, "Gdi32.lib") не помогает. А то пытаюсь использовать SetTextColor и подобные функции, а без полезно без Gdi32.lib. Кто может подскажите.
C++ Шилдт Полный справочник по С++ 4.0 Собственно ищу код к справочнику, о котором упоминалось на обложке. https://www.cyberforum.ru/ cpp/ thread150953.html
Мат в 32 хода
236 / 171 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
19.07.2010, 13:08 0

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

19.07.2010, 13:08. Просмотров 419251. Ответов 1272
Метки (Все метки)

Ответ

Вот конечный итог:
кстате, программа всегда заканчивается комбинацией:
Код
   0   
   00
она неизменима, да?

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;
    public:                
        Cell();
        bool isalive(void);
        bool isdead(void); 
        void setalive(void);
        void setdead(void);
        void setto(int i);
};
#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
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
#include <iostream>
#include <time.h>
#include "cell.h"
#include "cell.cpp"
int main()
{
    int nn;
    std::cout<<"Enter the size of the field: ";
    std::cin>>nn;
    const int n=nn;
    srand(time(NULL));
    Cell field[n][n];
    int m,l;
    for(int m=0;m<n;m++)
    {
        for(int l=0;l<n;l++)
        {
            field[m][l].setto(rand()%2);
        };
    };
 
    int hml=0;
    while(1)
    {
        for(int m=0;m<n;m++)
        {
            for(int l=0;l<n;l++)
            {
                hml=0;
                if ((m-1>=0) && ((m-1)<n) && (l-1>=0) && ((l-1)<n) && field[m-1][l-1].isalive())
                  hml++;
                if ((m-1>=0) && ((m-1)<n) && field[m-1][l].isalive())
                  hml++;
                if ((m-1>=0) && ((m-1)<n) && (l+1>=0) && ((l+1)<n) && field[m-1][l+1].isalive())
                  hml++;
                if ((l-1>=0) && ((l-1)<n) && field[m][l-1].isalive())
                  hml++;
                if ((m+1>=0) && ((m+1)<n) && (l-1>=0) && ((l-1)<n) && field[m+1][l-1].isalive())
                  hml++;
                if ((m+1>=0) && ((m+1)<n) && field[m+1][l].isalive())
                  hml++;
                if ((m+1>=0) && ((m+1)<n) && (l+1>=0) && ((l+1)<n) && field[m+1][l+1].isalive())
                  hml++;
                if ((l+1>=0) && ((l+1)<n) && field[m][l+1].isalive())
                  hml++;
                if (hml<2)
                    field[m][l].setdead();
                if (hml>3)
                    field[m][l].setdead();
                if (hml==3)
                    field[m][l].setalive();
                
            };
        };
      for(int m=0;m<n;m++)
      {
          for(int l=0;l<n;l++)
          {
              if (field[m][l].isalive())
                  std::cout<<"0";
              if (field[m][l].isdead())
                  std::cout<<" ";
          };
          std::cout<<"\n";
      };
      system("PAUSE");
      system("CLS");
    } //while;
    std::cin>>l;
    return 0;
}
Добавлено через 2 минуты
Цитата Сообщение от Nameless One Посмотреть сообщение
да там переделывать-то... И вообще, лучше переделать сейчас, чем когда твой код разрастется до внушительных размеров. Вот тогда-то и будет жалко...
Спасибо, учту

Добавлено через 17 минут
А вот очень старая, "класическая" задача о коне.
конь стоит в левом нижнем углу шахматной доски. ходит как обыно, Г-образно. надо обойти все клетки. НА ОДНУ КЛЕТКУ НЕЛЬЗЯ СТАНОВИТСЯ БОЛЕЕ ОДНОГО РАЗА. найдти количество ходов.
можно вывести на экран передвижения коня в "шахматной" записи, но это не обязательно.

Вернуться к обсуждению:
Задачи для тренировки и лучшего понимания
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.07.2010, 13:08
Готовые ответы и решения:

Элементарные программы, для лучшего понимания языка...
Здравствуйте. Вот сегодня решил что пора изучать с++. Есть пару задач. Начал решать и уже на первой...

Задачи для тренировки и лучшего понимания языка
Предлагаю в этой теме размещать задачи, которые помогут новичкам (и не только) более детально...

Литература для лучшего понимания сути программирования
Привет! Подскажите литературу, которая поможет разобраться в сути самого процесса программирования,...

Набор задачь для тренировки и улучшения понимания программирования
Добрый вечер всем. Если кто знает модскажите где можно найти подобный набор задачь...

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