Új hozzászólás Aktív témák
-
-
válasz
rothkrisz
#511
üzenetére
Hali!
Kellemes feladatokat kaptok, nekem is jó, mert "retrózhatok".
Nos, több megoldása is lehet a feladatnak, Én az alábbi módszert választottam, elsősorban mert x64 Vista alatt ne futnak a DOS-os c/cpp editorok, ebből adódóan a kurzorpozicíóval, assembly betéttel, megszakításokkal nem tudok mit kezdeni.(ugyanis úgy is meg lehetett volna oldani, hogy egyből megjelenik a tábla, és egyből megjelenik rajt a bevitt mezőn az "érme"....)Lesz bent egy teljesen kikommentezett rész, azt csak azért hagytam bent, hogy még egy mátrix definíciót is láss. Sajna ott viszont már "keményen" mútatókkal lehet volna csak operálni, és ha valaki nincs tisztában velük, akkor tényleg nem fog érteni belőle semmit....
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define CB_XY 17
/*
unsigned char ChessBoard_Matrix[][CB_XY]={
"╔","═","╦","═","╦","═","╦","═","╦","═","╦","═","╦","═","╦","═","╗",
"║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║",
"╠","═","╬","═","╬","═","╬","═","╬","═","╬","═","╬","═","╬","═","╣",
"║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║",
"╠","═","╬","═","╬","═","╬","═","╬","═","╬","═","╬","═","╬","═","╣",
"║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║",
"╠","═","╬","═","╬","═","╬","═","╬","═","╬","═","╬","═","╬","═","╣",
"║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║",
"╠","═","╬","═","╬","═","╬","═","╬","═","╬","═","╬","═","╬","═","╣",
"║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║",
"╠","═","╬","═","╬","═","╬","═","╬","═","╬","═","╬","═","╬","═","╣",
"║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║",
"╠","═","╬","═","╬","═","╬","═","╬","═","╬","═","╬","═","╬","═","╣",
"║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║",
"╠","═","╬","═","╬","═","╬","═","╬","═","╬","═","╬","═","╬","═","╣",
"║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║",
"╚","═","╩","═","╩","═","╩","═","╩","═","╩","═","╩","═","╩","═","╝"
};
*/
int ChessBoard_Matrix[CB_XY][CB_XY]={
{0xC9,0xCD,0xCB,0xCD,0xCB,0xCD,0xCB,0xCD,0xCB,0xCD,0xCB,0xCD,0xCB,0xCD,0xCB,0xCD,0xBB},
{0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA},
{0xCC,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xB9},
{0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA},
{0xCC,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xB9},
{0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA},
{0xCC,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xB9},
{0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA},
{0xCC,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xB9},
{0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA},
{0xCC,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xB9},
{0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA},
{0xCC,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xB9},
{0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA},
{0xCC,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xB9},
{0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA},
{0xC8,0xCD,0xCA,0xCD,0xCA,0xCD,0xCA,0xCD,0xCA,0xCD,0xCA,0xCD,0xCA,0xCD,0xCA,0xCD,0xBC}
};
int main()
{
int i,j,k;
char str[256];
while(0==0) {
printf("Enter coordinate and value: ");
strupr(gets(str));
if (str[0]=='*') { printf("\nGenerating Chessboard\n\n"); break; }
if (!strlen(str) || strlen(str)>3) { printf("Bad SIZE found [%s=>%d], skipped...\n",str,strlen(str)); continue; }
if (str[0]<'A' || str[0]>'H') { printf("Bad COLUMN found [%c], skipped...\n",str[0]); continue; }
if (str[1]<'1' || str[1]>'8') { printf("Bad ROW found [%c], skipped...\n",str[1]); continue; }
if (str[2]!='1' && str[2]!='2' && str[2]!='5') { printf("Bad VALUE found [%c], skipped...\n",str[2]); continue; }
ChessBoard_Matrix[('8'-str[1])*2+1][(str[0]-'A')*2+1]=str[2];
}
for(i=0,k=8;i<CB_XY;i++) {
if ((i % 2)) printf("%d ",k--);
else printf(" ");
for(j=0;j<CB_XY;j++)
printf("%c",ChessBoard_Matrix[i][j]);
printf("\n");
}
for(printf(" "),i=0;i<8;printf("%c ",'A'+i),i++);
printf("\n\n");
return 0;
}Fire.
UI: remélem jól értelmeztem a feladatot...

Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Eladó komplett Gaming állomás
- Keveset ment Lenovo ThinkPad P16v G2 Mobil Munkaállomás -50% Ultra 7 165H 32/1TB RTX 2000 8GB 21Hó
- i3-8100+B360+8GB+240GB konfig - WIN11!
- Logitech G923 PS4/PS5 kormány, pedál, váltó szett
- Új "0" perces Lenovo ThinkPad P16v G2 Mobil Munkaállomás -50% Ultra 7 165H 32/1TB RTX 2000 8GB 327Hó
- Keresünk Galaxy S23/S23+/S23 Ultra/S23 Fe
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB DDR5 RTX 5060 8GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! MSI B650 R7 7700 32GB DDR5 1TB SSD RX 9070XT 16GB LIAN LI LANCOOL 217 Wood 750W
- Playstation 4 Slim 1 TB kontroller 6 hó garancia, számlával!
- REFURBISHED és ÚJ - HP Thunderbolt Dock G2 230W with combo cable (3TR87AA)
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: Laptopműhely Bt.
Város: Budapest



