Hirdetés
Ú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!
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Víz- gáz- és fűtésszerelés
- Kerékpárosok, bringások ide!
- Autós topik
- Diablo II: Classic és Resurrected
- iPhone topik
- Luck Dragon: Asszociációs játék. :)
- Futás, futópályák
- Házimozi haladó szinten
- gban: Ingyen kellene, de tegnapra
- További aktív témák...
- Új Dell G15 Gamer FHD IPS 165Hz i7-13650HX 14mag 16GB 1TB Nvidia RTX 4060 8GB 140W Win11 Garancia
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
- iPhone 14 128GB 100% (1év Garancia)
- Bomba ár! Dell Latitude 5490 - i5-8GEN I 8GB I 500GB i 14" HD I HDMI I Cam I W10 I Gari!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest




