tablica [15][15]

0

Chcę zrobić tablicę [15][15]. Jednak nie wiem jak się za to zabrać, ponieważ chcę aby każde wyrażenie było w "ramce", by powstała tabela. Zbiór wartości tej tablicy wynosi od 0 do 224. Bardzo proszę o pomoc.

0

ale jak zrobić by powstała tabela?

0

Jaka tabela? Narysuj o co ci chodzi bo trudno sobie to wyobrazić.

2

https://github.com/spartanPAGE/spartan-snake-implementation/blob/master/include/matrix.hpp

int main(){
	Matrix<int> m(15, 15);
	iota(begin(m), end(m), 0);
	
	for(size_t y = 0; y < m.height(); ++y){
		for(size_t x = 0; x < m.width(); ++x){
			cout << m[y][x] << '\t';
		}
		cout << '\n';
	}
}
0	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	156	157	158	159	160	161	162	163	164	
165	166	167	168	169	170	171	172	173	174	175	176	177	178	179	
180	181	182	183	184	185	186	187	188	189	190	191	192	193	194	
195	196	197	198	199	200	201	202	203	204	205	206	207	208	209	
210	211	212	213	214	215	216	217	218	219	220	221	222	223	224	 

lub

int main(){
	Matrix<int> m(15, 15);
	iota(begin(m), end(m), 0);
	
	for(size_t y = 0; y < m.height(); ++y){
		for(size_t x = 0; x < m.width(); ++x){
			cout << m[x][y] << '\t';
		}
		cout << '\n';
	}
}
0	15	30	45	60	75	90	105	120	135	150	165	180	195	210	
1	16	31	46	61	76	91	106	121	136	151	166	181	196	211	
2	17	32	47	62	77	92	107	122	137	152	167	182	197	212	
3	18	33	48	63	78	93	108	123	138	153	168	183	198	213	
4	19	34	49	64	79	94	109	124	139	154	169	184	199	214	
5	20	35	50	65	80	95	110	125	140	155	170	185	200	215	
6	21	36	51	66	81	96	111	126	141	156	171	186	201	216	
7	22	37	52	67	82	97	112	127	142	157	172	187	202	217	
8	23	38	53	68	83	98	113	128	143	158	173	188	203	218	
9	24	39	54	69	84	99	114	129	144	159	174	189	204	219	
10	25	40	55	70	85	100	115	130	145	160	175	190	205	220	
11	26	41	56	71	86	101	116	131	146	161	176	191	206	221	
12	27	42	57	72	87	102	117	132	147	162	177	192	207	222	
13	28	43	58	73	88	103	118	133	148	163	178	193	208	223	
14	29	44	59	74	89	104	119	134	149	164	179	194	209	224	
0

Takie coś, niestety coś mi nie wychodzi. W tym programie chodzi o to, zeby w poleceniu wpisać wartoścć(np.54) i wtedy zamiast 54 wyskakuje "X" lub "O". Niestety zamiast tego wyskakuje 79 lub 88 a cały rząd przesuwa się w lewo bądź w prawo.

0

C++

0

masz tablicę intów? bo jak tak to wpisujesz to komórki kod ascii X i O i potem ten kod wyświetlasz... na tablicy intów w taki sposób tego nie zrobisz...

0

Moim zdaniem robisz to źle. Jakbym ja miał to napisać to trzymałbym tablicę nie intów, nie charow. Ale tablicę struktur np takich:

 struct Pole {
   int Numer;
   char Gracz;
 };

Wtedy podczas wyświetlania tablicy na ekranie musisz sprawdzać czy Gracz jest ustawiony i wyświetlać gracza. W przeciwnym razie numer pola.

2

Wydaje mi się że zrozumiałem o co ci biega:

#include <cstdio>
using namespace std;

enum WhatInCell {wicEmpty,wicX,wicO};
const char *WhatInCellNames[]={"%3d ","  X ","  O "};
const char Choice[]="Wybor: ";
const char ErrChoice[]="Niepoprawny wybor. 0-koniec; 1..255-zmiana;\n\n%s";
constexpr unsigned size=15;

int main()
  {
   WhatInCell tb[size*size]={wicEmpty};
   for(WhatInCell now=wicX;;now=(WhatInCell)(wicX+wicO-now))
     {
      printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nRuch:%s\n",WhatInCellNames[now]);
      for(unsigned i=0,y=0;y<size;++y,printf("\n")) for(unsigned x=0;x<size;++x,++i) printf(WhatInCellNames[tb[i]],i+1);
      unsigned ch;
      printf(Choice);
      while((scanf("%u",&ch)!=1)||(ch>size*size)||((ch)&&(tb[ch]!=wicEmpty))) printf(ErrChoice,Choice);
      if(!ch) return 0;
      tb[ch-1]=now;
     }
  }

1 użytkowników online, w tym zalogowanych: 0, gości: 1