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

Непонятки с выводом елементов в рамке для игры судоку. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Прочитать последовательность слов из потока ввода. http://www.cyberforum.ru/cpp-beginners/thread33548.html
Прочитать последовательность слов из потока ввода.Пусть слово Quit будет означать конец ввода.Я сделал так:void stream_read() { istream_iterator<string>my_iterator(cin); istream_iterator<string>eos; // Это лишняя строка? vector<string>strings_vector(first_vector_size); // const int first_vector_size=1; for (unsigned int i=0;i<strings_vector.size();++i) { ...
C++ задача на тему Поиск. Дана матрица A. Произвести поиск элемента (последовательности элементов) по нечетным строкам матрицы. Помогите пожалуйста новичку!!! http://www.cyberforum.ru/cpp-beginners/thread33540.html
Размещение значений в обратном порядке C++
Исправте код пожалуста!!! #include "stdafx.h" #include <iostream> #include <iomanip> #include <time.h>
Найдтие ошибку в програме C++
Условие: есть два двумерних масива A, B, нада залоплнить третий X, в первие n столбцов нада написать масив А, в остальние В, вот код программы: #include<iostream.h> #include<conio.h> #include<stdlib.h> #define n 2 void main() {
C++ Описать процедуру или функцию, которая заменяет в списке L все вхождения E1 на E2 http://www.cyberforum.ru/cpp-beginners/thread33516.html
У меня проблемка, есть три задачи, нужно реализовать на Делфи или на С++ (я хотел написать в определённые разделы вашего форума, но у меня нет почемуто прав там создавать темы и вообще что либо там делать). Я б сам это сделал, но я не знаю как! В универе по этим темам мы почти ничего не проходили (пролетели можно сказать + половину я проболел). Так вот эти три задачи: 1. Пусть L обозначает...
C++ Массив строк, не правильный поиск Вводим имя, инструмент, год рождения, время обучения. Хочу вывести имя ученика играюшего на скрипке, но он упорно выводит имена всех. Пробывал в разных вариациях, не только так, но уже устал, по этому обрашаюсь за помощью к вам. Знаю что реализация через свич не очень, но вот так получилось. #include<iostream.h> #include<stdlib.h> #include<conio.h> #include<string.h> #define N 2 подробнее

Показать сообщение отдельно
leshac
0 / 0 / 0
Регистрация: 18.03.2009
Сообщений: 13
11.05.2009, 00:30     Непонятки с выводом елементов в рамке для игры судоку.
Привложив титанические усилия я написал програмку в которой должны отображаться елементы массива(покамись это просто нули) и двигается указатель, но вот получается сделать чтобы только заполнялось единицами или еще чем-то одним монотонным, но только не елеметами массива mas[][], просто в голову не лезит каковы должны быть эти волшебные 3-4 строки которые бы поставили всё на свои места. Место проблемы указал комментарием. Спасибо за помощь.

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
145
146
147
148
149
150
151
152
153
154
155
#include <iostream>
#include <math.h>
#include <windows.h>
#include <conio.h>
#include <time.h>
 
 
using namespace std;
 
void main()
{
 
    srand(time(0));
     system("CLS");
 
 
     int row=9;
     int col=9;
     int x=0;int y=0;
     int q;
     int w;
     char mas[9][9];
     char mas1[3][3];
     int counter=0;
     int counter2=0;
 
 
for(int i=0;i<row;i++)
     {
          for(int j=0;j<row;j++)
          {
               mas[i][j]='0';
          }
     }
 
 
     for (;;)
     { 
         
          system("CLS");
          
  
        enum {TopLeftC = 218,TopRightC = 191,BottomLeftC=192,BottomRightC=217, TopCenter=194, Center=197,LeftCenter=195,RightCenter=180,BottomCenter=193,
            HorDash=196,VerDash=179,Gap=32};
 
    int size=19;
    for(int i=0;i<size;i++)
    {
        for(int j=0;j<size;j++)
        {
            if(i==0&&j==0)
            {
                cout<<char(TopLeftC);
            }
            else if(i==0&&j==size-1)
            {
                cout<<char(TopRightC);
            }
            else if(i==size-1&&j==0)
            {
                cout<<char(BottomLeftC);
            }
            else if(i==size-1&&j==size-1)
            {
                cout<<char(BottomRightC);
            }
            else if(i==0&&j%2==0)
            {
                cout<<char(TopCenter);
            }
                else if(i==size-1&&j%2==0)
            {
                cout<<char(BottomCenter);
            }
                else if(i%2==0&&j==0)
            {
                cout<<char(LeftCenter);
            }
                else if(i%2==0&&j==size-1)
            {
                cout<<char(RightCenter);
            }
            else if(i%2==0&&j%2==0)
            {
                cout<<char(Center);
            }
            
            
            else if(i%2==0&&j%2!=0)
            {
                cout<<char(HorDash);
            }
            else if(i%2!=0&&j%2==0)
            {
                cout<<char(VerDash);
            }
            else if(i%2!=0&&j%2!=0)
            {
 
                if (i==y&&j==x)
                    {     
                         q=i;
                         w=j;
                    cout<<"+";
 
                    }
                    else
                    {
                    
                    cout<<"0"; //cout<<mas[][]; ?!??!?!!? Как заставить показывать елементы.
                    
                    }
 
 
            
            }
        }
        cout<<endl;
    }
 
               
        
          int key=_getch();
          if (key==224||key==0)key=_getch();
        
          
               
          switch(key)
          {
          case 80:y<row-1?y++:y=0;break;
          case 77:x<col-1?x++:x=0;break;
          case 72:y>0?y--:y=row-1;break;
          case 75:x>0?x--:x=col-1;break;
          case 27:exit(0);
          case 13:
            if (counter%2==0)
            {
               if(mas[q][w]!='x')
               {
               mas[q][w]='x';
               counter++;
               
               }
            }
            else
            {
                counter++;
            }
        
            
             
 
          }
     }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru