- iPhone topik
- Samsung Galaxy A55 - új év, régi stratégia
- Videón vagánykodik az ultrakecses Motorola Edge 70
- Magisk
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Samsung Galaxy A54 - türelemjáték
- Google Pixel topik
- Okosóra és okoskiegészítő topik
- Érdekes eszközzel készül a HMD holnapra
- Október 14-től kapható a Telekom T Phone 3 Pro
Ú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...
-
válasz
rothkrisz #482 üzenetére
Hali!
A progi CodeBlocksban íródott. Bár írtad, hogy most kezdtél C-ben írni, de ennak ellenére úgy írtam, hogy legyen bent valami "újdonság" is, ami hasznos. Nézd át, ha valami nem tiszta írj.
Fire.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char str[255];
unsigned char ndx[10];
int i,j,maxndx;
for(i=0;i<sizeof(ndx);ndx[i]=0, i++);
printf("Enter numbers (0-9): ");
gets(str);
for (i=0;i<strlen(str);i++) {
if (str[i]<'0' || str[i]>'9') {
printf("Illegal char found, skipped.. -> %c\n",str[i]);
continue;
};
ndx[str[i] & 0x0f]++;
}
//Horizontal
for(i=0;i<sizeof(ndx);i++) {
printf("\n%c ",i+'0');
for (j=ndx[i];j>0;j--) { printf("*"); }
}
printf("\n\n\n");
//Vertical
for(i=0, maxndx=0;i<sizeof(ndx);i++) {
maxndx=ndx[i]>=maxndx ? ndx[i] : maxndx;
}
for(;maxndx>0;maxndx--) {
for(i=0;i<sizeof(ndx);i++) {
ndx[i]<maxndx ? printf(" ") : printf("*");
}
printf("\n");
}
for(i=0;i<sizeof(ndx);printf("%c",'0'+i),i++);
printf("\n");
return 0;
}
Ú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!
- ASUS ROG STRIX 1000W Gold Aura Edition RGB Moduláris Tápegység PCIE 5 ATX 3 12VHPWR
- Asus Rog Thor II 1000W Platinum OLED RGB Moduláris Tápegység
- 32" Interaktiv Monitor Érintőképernyővel - Iiyama ProLite TF3237MSC-B3AG Touch-
- Apple Iphone 12 64gb kék -független-
- Apple watch se 44mm 100% akkumulátor új óra (volt valamikor)
- Lenovo L14 Ryzen 3 4450U
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RTX 5070 Ti 16GB GAMER PC termékbeszámítással
- GYÖNYÖRŰ iPhone 13 mini 256GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3403
- GYÖNYÖRŰ iPhone 13 mini 256GB Midnight -1 ÉV GARANCIA -Kártyafüggetlen, MS3623, 94% Akkumulátor
- MSI CreatorPro Z16P RTX A5500 TOUCH! (vapor chamberrel)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest