Keresés

Új hozzászólás Aktív témák

  • Fire/SOUL/CD

    félisten

    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;
    }

    Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)

  • !wannabe

    tag

    válasz rothkrisz #482 üzenetére

    Ez egy hisztorgram...Nekem is beletört a bicskám :(((

    Fire : hogy hogy CodeBlocks -ban írod és nem visualstudio-ban? :))
    Egyébként úgy kellene, hogy vízszintesen legyenek a számok. Úgy lenne igazi hisztogram, Nekem legalábbis olyat kellett.

    [ Szerkesztve ]

  • Fire/SOUL/CD

    félisten

    válasz rothkrisz #511 üzenetére

    Hali!

    Kellemes feladatokat kaptok, nekem is jó, mert "retrózhatok". :DDD
    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... :U

    Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)

  • Fire/SOUL/CD

    félisten

    válasz rothkrisz #511 üzenetére

    Hali!

    Elnézésedet kérem, de voltam olyan ügyes, hogy nem olvastam el a privát üzeneted. :W
    Majd ránézek ígérem, mert az általam kreált kód, "enyhén szólva" nem hasonlít a forrásodra a privátban.

    Mégegyszer, bocsi! :(((

    Fire.

    Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)

  • Fire/SOUL/CD

    félisten

    válasz rothkrisz #566 üzenetére

    Hali!

    Küldtem privbe.

    Fire.

    Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)

  • cellpeti

    veterán

    válasz rothkrisz #774 üzenetére

    Szia!

    Melyek azok a bizonyos szavak?

    Fire:

    te milyen C környezetet használsz?A C Free 4.1 az iskolájáért se akar lejönni,és kéne egy programkörnyezet!

    Tigris, tigris, csóvafény...

  • cellpeti

    veterán

    válasz rothkrisz #781 üzenetére

    hát szerintem amit le akarsz cserélni csillagra,azt egy tömbbe kéne eltárolni
    és azt egyenlővé tenni csilaggal

    de...várd meg Fire véleményét is! :U

    Tigris, tigris, csóvafény...

Új hozzászólás Aktív témák