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

  • Dirty_Pio
    csendes tag

    Azért mert lemaradt a () hogy függvényhívás legyen. Így a függvénypointert akartad értékül adni.
    A max1/max2-t meg azért nem, mert azt így C-ben sajnos nem lehet. A tömb méretnek (ha nem pointerként adod át) konstansnak kell lennie.

    Hi, erre nem igazan tudom a valaszt, hogy miert nem megy:

    #include <stdio.h>

    #include <stdlib.h>



    void create_and_fill_array2(int * a, int n) {

    a=(int *)malloc(sizeof(int)*n);

    int i;

    for (i=0; i<n; i++)

    *(a + i)=i;

    }

    void print_array(int *tab,int n) {

    int i;

    for (i=0; i<n; i++)

    printf("%d ",tab[i]);

    }



    int main (void) {

    int *b;

    create_and_fill_array2(b,5);

    print_array(b,5);

    return 0;

    }

    ha a figgvenyen kivul hasznalom a malloc() -t akkor nincsen semmi problema.

  • Jester01
    veterán

    Nos egy utolso hiba maradt amivel nem sikerult megbirkoznom: az mreadben amikor a q[i][j] -nek ertekul akarom adni a readnr fuggvegy erteket akkor kidobja azt az errort, hogy invalid conversion from 'int(*)()' to 'int '. Ez mit jelent es a masik dolog: miert nem fogadta el a ROW/COL helyett a max1/max2 -t ?

    Azért mert lemaradt a () hogy függvényhívás legyen. Így a függvénypointert akartad értékül adni.
    A max1/max2-t meg azért nem, mert azt így C-ben sajnos nem lehet. A tömb méretnek (ha nem pointerként adod át) konstansnak kell lennie.

  • Dirty_Pio
    csendes tag

    A dinamikus tömb kezelés nem egyszerű C-ben. Jelen esetben javaslom, hogy a függvényparaméterekben a ROW és COL makrókat használd, pl így:
    void mread (int max1, int max2, int q[ROW][COL])
    Persze a max1 és max2 átadása ekkor már szintén fölösleges.

    Van még pár apró hiba benne, gondolom azokat majd megleled vagy ha nem, akkor kérdezel ;)

    Nos egy utolso hiba maradt amivel nem sikerult megbirkoznom: az mreadben amikor a q[i][j] -nek ertekul akarom adni a readnr fuggvegy erteket akkor kidobja azt az errort, hogy invalid conversion from 'int(*)()' to 'int '. Ez mit jelent es a masik dolog: miert nem fogadta el a ROW/COL helyett a max1/max2 -t ?

  • Jester01
    veterán

    Na megint van egy kerdesem. Egy matrixot probalok beolvasni de azt a hibauzenetet kapom, hogy max1 was not declared in this scope. Az ha jol tudom valami oylasmit jelent hogy a fuggveny nem tudja ahsznalni mert kivul esik a hataskoren.
    #include <stdio.h>
    #include <stdlib.h>
    #define ROW 4
    #define COL 5
    int readnr (void)
    {
    int i=0;
    char x[5],c;
    while ( ((c=getchar()) != '\n') && (i<5))
    {
    x[i]=c;
    i++;
    }
    if (x[i-1]=='\n') x[i-1]='\0';
    else x[i]='\0';
    i = atoi(x);
    return i;
    }
    void mread (int max1, int max2, int q[max1][pmax2])
    {
    int i,j;
    for (i=0; i<=max1;i++)
    for (j=0; j<=max2; j++)
    q[i][j]=readnr;
    }
    printm (int max1, int max2, int q[max1][pmax2])
    {
    int i,j;
    for (i=0; i<=max1;i++)
    {
    for (j=0; j<=max2; j++)
    printf("%4i ",q[i][j];
    printf("\n");
    }
    }
    int main (void)
    {
    int max1=ROW,max2=COL;
    int a[ROW][COL];
    mread(max1,max2,a);
    printm(max1,max2,a);
    system("pasue");
    return(0);
    }

    A dinamikus tömb kezelés nem egyszerű C-ben. Jelen esetben javaslom, hogy a függvényparaméterekben a ROW és COL makrókat használd, pl így:
    void mread (int max1, int max2, int q[ROW][COL])
    Persze a max1 és max2 átadása ekkor már szintén fölösleges.

    Van még pár apró hiba benne, gondolom azokat majd megleled vagy ha nem, akkor kérdezel ;)

  • Dirty_Pio
    csendes tag

    Na megint van egy kerdesem. Egy matrixot probalok beolvasni de azt a hibauzenetet kapom, hogy max1 was not declared in this scope. Az ha jol tudom valami oylasmit jelent hogy a fuggveny nem tudja ahsznalni mert kivul esik a hataskoren.
    #include <stdio.h>
    #include <stdlib.h>
    #define ROW 4
    #define COL 5
    int readnr (void)
    {
    int i=0;
    char x[5],c;
    while ( ((c=getchar()) != '\n') && (i<5))
    {
    x[i]=c;
    i++;
    }
    if (x[i-1]=='\n') x[i-1]='\0';
    else x[i]='\0';
    i = atoi(x);
    return i;
    }
    void mread (int max1, int max2, int q[max1][pmax2])
    {
    int i,j;
    for (i=0; i<=max1;i++)
    for (j=0; j<=max2; j++)
    q[i][j]=readnr;
    }
    printm (int max1, int max2, int q[max1][pmax2])
    {
    int i,j;
    for (i=0; i<=max1;i++)
    {
    for (j=0; j<=max2; j++)
    printf("%4i ",q[i][j];
    printf("\n");
    }
    }
    int main (void)
    {
    int max1=ROW,max2=COL;
    int a[ROW][COL];
    mread(max1,max2,a);
    printm(max1,max2,a);
    system("pasue");
    return(0);
    }

  • Dirty_Pio
    csendes tag

    A -47 hibás zárójelezés miatt van, ugyancsak a reading függvényben, a while feltételben.

    Koszi a segitseget. A progi mukodik es huh.. jo sokmindent elneztem... szoval tenyleg ugy van hogy a gep azt csinalja amit mondunk neki s nem azt szeretnenk.

  • Jester01
    veterán

    Nos, a problemanak azt a felet megoldottam, amiert eredetileg ide irtam, de a javitott programban problemaim vannak a vektor ertekeinek a beolvasasaval, azaz minden esetben az vektor erteke -47 lesz. Beirom a javitott programot mert kozben voltak meg kissebb hibak a fentebbiben:
    //program 5.6 (lab)
    #define MAX 81
    #include <stdio.h>
    #include <stdlib.h>
    int reading(int x[],int max)
    {
    int i=0,k,c;
    while ((c=getchar()!=EOF)&&(i<max))
    {
    x[i]=c-'0';
    i++;
    }
    i--;
    return i;
    }
    int add(int a, int b, int r)
    {
    int s;
    s=(a+b+r)%10;
    return s;
    }
    int reminder(int a, int b, int r)
    {
    int s;
    s=(a+b+r)/10;
    return s;
    }
    int main(void)
    {
    int i,j,k,r;
    int x[MAX],y[MAX],z[MAX];
    for (k=0;k<80;k++)
    {
    x[k]=0;
    y[k]=0;
    }
    i=reading(x,MAX);
    j=reading(y,MAX);
    printf("%i %i\n",i,j);
    r=0;
    for (k=0; (k<=i) && (k<=j); k++)
    {
    z[k]=add(x[k],y[k],r);
    r=reminder (x[k],y[k],r);
    }
    if (i<j) for (i=k; i<=j; i++)
    {
    z[i]=add(0,y[i],r);
    r=reminder(0,y[i],r);
    }
    else
    for (j=k; j<=i; j++)
    {
    z[j]=add(0,x[j],r);
    r=reminder (0,x[j],r);
    }
    z[k++]=r;
    for (i=0;i<(k+1);i++)
    printf("%i \n",z[i]);
    system("pause");
    return(0);
    }

    A -47 hibás zárójelezés miatt van, ugyancsak a reading függvényben, a while feltételben.

  • Jester01
    veterán

    Nos, a problemanak azt a felet megoldottam, amiert eredetileg ide irtam, de a javitott programban problemaim vannak a vektor ertekeinek a beolvasasaval, azaz minden esetben az vektor erteke -47 lesz. Beirom a javitott programot mert kozben voltak meg kissebb hibak a fentebbiben:
    //program 5.6 (lab)
    #define MAX 81
    #include <stdio.h>
    #include <stdlib.h>
    int reading(int x[],int max)
    {
    int i=0,k,c;
    while ((c=getchar()!=EOF)&&(i<max))
    {
    x[i]=c-'0';
    i++;
    }
    i--;
    return i;
    }
    int add(int a, int b, int r)
    {
    int s;
    s=(a+b+r)%10;
    return s;
    }
    int reminder(int a, int b, int r)
    {
    int s;
    s=(a+b+r)/10;
    return s;
    }
    int main(void)
    {
    int i,j,k,r;
    int x[MAX],y[MAX],z[MAX];
    for (k=0;k<80;k++)
    {
    x[k]=0;
    y[k]=0;
    }
    i=reading(x,MAX);
    j=reading(y,MAX);
    printf("%i %i\n",i,j);
    r=0;
    for (k=0; (k<=i) && (k<=j); k++)
    {
    z[k]=add(x[k],y[k],r);
    r=reminder (x[k],y[k],r);
    }
    if (i<j) for (i=k; i<=j; i++)
    {
    z[i]=add(0,y[i],r);
    r=reminder(0,y[i],r);
    }
    else
    for (j=k; j<=i; j++)
    {
    z[j]=add(0,x[j],r);
    r=reminder (0,x[j],r);
    }
    z[k++]=r;
    for (i=0;i<(k+1);i++)
    printf("%i \n",z[i]);
    system("pause");
    return(0);
    }

    Mert nem EOF-ig kellene olvasni a reading függvényben.
    Ettől mondjuk még nem lesz jó, csak jobb :N

    MOD: például jó lenne a jegyeket inkább jobbról balra összeadni.
    A reminder-t egyébként carry-nak hívják.

  • Dirty_Pio
    csendes tag

    Sziasztok, volna egy kis problemam egy programmal... eleg sok errort kidob, de en nem ertem mia baja. Az errorok a figgvenyekre vonatkoznak nagyreszben, azzal a szoveggel, hogy pl. az elso fuggvenybe x has a forward declaration. A feladat szovege:Write a program to add two large integer numbers of length up to 80 digits (no predefined type offers this range/precision !). One approach is to treat each number as an array of digits. The two integers (arrays) are added element by element, carrying from one element to the next when necessary. Each number is read digit by digit (a loop of getchar() until end of line is encountered) and stored in an array of digits.

    //program 5.6 (lab)
    #define MAX 81
    #include <stdio.h>
    #include <stdlib.h>
    int reading(int x[];int max)
    {
    int i,c;
    while (c=getchar()!=EOF)
    {
    x[i]=c-'0';
    i++;
    }
    i--;
    return i;
    }
    int add(int a; int b; int r)
    {
    int s;
    s=a+b+r;
    return s;
    }
    int reminder(int a; int b; int r)
    {
    int s;
    s=(a+b+r)/10;
    return s;
    }
    int main(void)
    {
    int i,j,k,r;
    int x[MAX],y[MAX],z[MAX];
    i=reading(x,MAX);
    j=reading(y,MAX);
    r=0;
    for (k=0; (k<=i) && (k<=j); k++)
    {
    z[k]=add(x[k],y[k],r);
    r=reminder (x[k],y[k],r);
    }
    if (i<j) for (k; k<=j; k++)
    {
    z[k]=add(0,y[k],r);
    r=reminder(0,y[k],r);
    };
    else
    for (k; k<=j; k++)
    {
    z[k]=add(0,x[k],r);
    r=reminder (0,x[k],r);
    };
    z[k++]=r;
    for (i=0;i<(k+1);i++)
    printf("%i \n",z[i]);
    system("pause");
    return(0);
    }
    na asszem megvan a baj... a figgvenybe ; hasznaltam , helyett grrr..

    Nos, a problemanak azt a felet megoldottam, amiert eredetileg ide irtam, de a javitott programban problemaim vannak a vektor ertekeinek a beolvasasaval, azaz minden esetben az vektor erteke -47 lesz. Beirom a javitott programot mert kozben voltak meg kissebb hibak a fentebbiben:
    //program 5.6 (lab)
    #define MAX 81
    #include <stdio.h>
    #include <stdlib.h>
    int reading(int x[],int max)
    {
    int i=0,k,c;
    while ((c=getchar()!=EOF)&&(i<max))
    {
    x[i]=c-'0';
    i++;
    }
    i--;
    return i;
    }
    int add(int a, int b, int r)
    {
    int s;
    s=(a+b+r)%10;
    return s;
    }
    int reminder(int a, int b, int r)
    {
    int s;
    s=(a+b+r)/10;
    return s;
    }
    int main(void)
    {
    int i,j,k,r;
    int x[MAX],y[MAX],z[MAX];
    for (k=0;k<80;k++)
    {
    x[k]=0;
    y[k]=0;
    }
    i=reading(x,MAX);
    j=reading(y,MAX);
    printf("%i %i\n",i,j);
    r=0;
    for (k=0; (k<=i) && (k<=j); k++)
    {
    z[k]=add(x[k],y[k],r);
    r=reminder (x[k],y[k],r);
    }
    if (i<j) for (i=k; i<=j; i++)
    {
    z[i]=add(0,y[i],r);
    r=reminder(0,y[i],r);
    }
    else
    for (j=k; j<=i; j++)
    {
    z[j]=add(0,x[j],r);
    r=reminder (0,x[j],r);
    }
    z[k++]=r;
    for (i=0;i<(k+1);i++)
    printf("%i \n",z[i]);
    system("pause");
    return(0);
    }

  • Dirty_Pio
    csendes tag

    Sziasztok, volna egy kis problemam egy programmal... eleg sok errort kidob, de en nem ertem mia baja. Az errorok a figgvenyekre vonatkoznak nagyreszben, azzal a szoveggel, hogy pl. az elso fuggvenybe x has a forward declaration. A feladat szovege:Write a program to add two large integer numbers of length up to 80 digits (no predefined type offers this range/precision !). One approach is to treat each number as an array of digits. The two integers (arrays) are added element by element, carrying from one element to the next when necessary. Each number is read digit by digit (a loop of getchar() until end of line is encountered) and stored in an array of digits.

    //program 5.6 (lab)
    #define MAX 81
    #include <stdio.h>
    #include <stdlib.h>
    int reading(int x[];int max)
    {
    int i,c;
    while (c=getchar()!=EOF)
    {
    x[i]=c-'0';
    i++;
    }
    i--;
    return i;
    }
    int add(int a; int b; int r)
    {
    int s;
    s=a+b+r;
    return s;
    }
    int reminder(int a; int b; int r)
    {
    int s;
    s=(a+b+r)/10;
    return s;
    }
    int main(void)
    {
    int i,j,k,r;
    int x[MAX],y[MAX],z[MAX];
    i=reading(x,MAX);
    j=reading(y,MAX);
    r=0;
    for (k=0; (k<=i) && (k<=j); k++)
    {
    z[k]=add(x[k],y[k],r);
    r=reminder (x[k],y[k],r);
    }
    if (i<j) for (k; k<=j; k++)
    {
    z[k]=add(0,y[k],r);
    r=reminder(0,y[k],r);
    };
    else
    for (k; k<=j; k++)
    {
    z[k]=add(0,x[k],r);
    r=reminder (0,x[k],r);
    };
    z[k++]=r;
    for (i=0;i<(k+1);i++)
    printf("%i \n",z[i]);
    system("pause");
    return(0);
    }
    na asszem megvan a baj... a figgvenybe ; hasznaltam , helyett grrr..

  • Jester01
    veterán

    Azért vegyük észre, hogy az eredeti feladatban szavak szerepelnek. A fenti megoldások mind megtalálnák (kicserélnék) a betűkombináció összes előfordulását. (pl. ha az alma szót kellene *-ra cserélni, akkor a hatalmas szóból is hat*s lenne.)

  • amargo
    addikt

    Mi a **** az a Brute force? :U

    Nyers erő.

    Azaz, ész nélkül mindent vizsgálunk. Miközben, ha megnézed a linket, rengeteg olyan algoritmus van, ami a szöveget elemezve elég jó szabályokat állít fel.

    Tehát vegyük S[1..n] szöveget és M[1..m] mintát.

    Akkor a művelet igények, így alakulnak,
    BF n*m.
    KMP n legjobb és legrosszabb esetben is a szótár felállítása m. Én az érthetősége miatt jobban szeretem ezt, mint a RK-t, igaz az hatékonyabb, mert a mintát nem kell végigolvasnunk.
    QS n/m +1

    RK (Ami még említve lett) n
    Viszont itt, ha sok a hamis talált, akkor a BF műveletigényével azonost kapunk.

  • cellpeti
    nagyúr

    Hi!

    #define REHASH(a, b, h) ((((h) - (a)*d) << 1) + (b))

    void KR(char *x, int m, char *y, int n) {
    int d, hx, hy, i, j;

    /* Preprocessing */
    /* computes d = 2^(m-1) with
    the left-shift operator */
    for (d = i = 1; i < m; ++i)
    d = (d<<1);

    for (hy = hx = i = 0; i < m; ++i) {
    hx = ((hx<<1) + x[i]);
    hy = ((hy<<1) + y[i]);
    }

    /* Searching */
    j = 0;
    while (j <= n-m) {
    if (hx == hy && memcmp(x, y + j, m) == 0)
    OUTPUT(j);
    hy = REHASH(y[j], y[j + m], hy);
    ++j;
    }

    }

    Igazából viszont nem értem, mivel a linkelt oldalon ott van az algoritmus azt csak implementálni kell. De ezt én is a lentebb linkelt oldalról raktam be.

    Bár gondolom rothkrisz nem hiszem, hogy ennyire optimalizált kódot szeretne megírni, ha ilyet akarna, akkor ismerne még pár szóban forgót: Knuth-Morris-Pratt, Quick-Search stb...

    Implementációk

    Az én javaslatom inkább egy sima Brute force lenne, annak megvalósítás íme:

    void BF(char *x, int m, char *y, int n)
    {
    int i, j;
    /* Searching */
    for (j = 0; j <= n - m; ++j) {
    for (i = 0; i < m && x[i] == y[i + j]; ++i);
    if (i >= m)
    OUTPUT(j);
    }
    }

    Mi a **** az a Brute force? :U

  • amargo
    addikt

    Hali!

    Ez szép...
    Egy kérésem azért lenne, privbe vagy ide beraknád nekem a kódot?
    (és gyakorlati kódot kérnék, nem elméletit, komolyan érdekelne a megoldásod :R )

    Fire.

    Hi!

    #define REHASH(a, b, h) ((((h) - (a)*d) << 1) + (b))

    void KR(char *x, int m, char *y, int n) {
    int d, hx, hy, i, j;

    /* Preprocessing */
    /* computes d = 2^(m-1) with
    the left-shift operator */
    for (d = i = 1; i < m; ++i)
    d = (d<<1);

    for (hy = hx = i = 0; i < m; ++i) {
    hx = ((hx<<1) + x[i]);
    hy = ((hy<<1) + y[i]);
    }

    /* Searching */
    j = 0;
    while (j <= n-m) {
    if (hx == hy && memcmp(x, y + j, m) == 0)
    OUTPUT(j);
    hy = REHASH(y[j], y[j + m], hy);
    ++j;
    }

    }

    Igazából viszont nem értem, mivel a linkelt oldalon ott van az algoritmus azt csak implementálni kell. De ezt én is a lentebb linkelt oldalról raktam be.

    Bár gondolom rothkrisz nem hiszem, hogy ennyire optimalizált kódot szeretne megírni, ha ilyet akarna, akkor ismerne még pár szóban forgót: Knuth-Morris-Pratt, Quick-Search stb...

    Implementációk

    Az én javaslatom inkább egy sima Brute force lenne, annak megvalósítás íme:

    void BF(char *x, int m, char *y, int n)
    {
    int i, j;
    /* Searching */
    for (j = 0; j <= n - m; ++j) {
    for (i = 0; i < m && x[i] == y[i + j]; ++i);
    if (i >= m)
    OUTPUT(j);
    }
    }

  • cellpeti
    nagyúr

    Elvesztek a programjaim...áááááááááááááááááá!!!!! :W :W :W

    Megpróbálom megírni a szó helyett csillagot :U

  • cellpeti
    nagyúr

    Azért engem érdekelne ez a dolog! Szó helyett csillag!
    Nekem van egy ilyen progim,vagy ilyesmi. Annak a lényege,hogy beírsz egy mondatot és megadsz egy karaktert,hogy melyiket szeretnéd kicserélni,és megadsz mégegyet,hogy mire szeretnéd kicserélni

    Valahogy az alapján szerintem meg lehetne csinálni,de kicsit megkeveredtem vele. Szóval Fire,vagy bárki más,ha megtudja csinálni(lehet még ma linkelek forráskódot),az szóljon majd,mert érdekel ez a prog :U

  • Fire/SOUL/CD
    félisten

    mintaillesztéssel, millió algoritmus van rá. pld.: [link]

    Hali!

    Ez szép...
    Egy kérésem azért lenne, privbe vagy ide beraknád nekem a kódot?
    (és gyakorlati kódot kérnék, nem elméletit, komolyan érdekelne a megoldásod :R )

    Fire.

  • Benmartin
    senior tag

    Sziasztok

    Bocsi, hogy nem fogalmaztam meg pontosan a feladatot. igen bekér egy mondatot és egy szót amit a mondatban * -ra cserél.

    Egyszerűen nem jövök rá hogy lehetne megoldani!

    Bocsánat hogy nem tudtam válaszolni nektek, de a netem elég rossz!

    mintaillesztéssel, millió algoritmus van rá. pld.: [link]

  • cellpeti
    nagyúr

    Sziasztok

    Bocsi, hogy nem fogalmaztam meg pontosan a feladatot. igen bekér egy mondatot és egy szót amit a mondatban * -ra cserél.

    Egyszerűen nem jövök rá hogy lehetne megoldani!

    Bocsánat hogy nem tudtam válaszolni nektek, de a netem elég rossz!

    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

  • rothkrisz
    csendes tag

    Sziasztok

    Bocsi, hogy nem fogalmaztam meg pontosan a feladatot. igen bekér egy mondatot és egy szót amit a mondatban * -ra cserél.

    Egyszerűen nem jövök rá hogy lehetne megoldani!

    Bocsánat hogy nem tudtam válaszolni nektek, de a netem elég rossz!

  • cellpeti
    nagyúr

    Hali!

    Ezt az eljárást gyakran használják fórumokon, ahol ha oda nem illő szavakat helyettesítik.
    Itt a példa, hogy mit is kellene megvalósítani RothKrisz-nek.

    " aa aaa bb cc aa, aa-gg aaaa cccc aa, aa, baa."
    ebben cserélje le az "aa" szavakat "*"-ra, erdményül ezt kell kapni
    " * aaa bb cc *, * aaaa cccc *, *, baa."

    Fire.

    én is vmi ilyenre gondolok!

    pü repült!

  • Fire/SOUL/CD
    félisten

    Na hello!

    Nekem erre a feladatra lenne egy elméletem,már a megvalósításnál járok,csak nem vagyok olyan gyors,mint te! :O

    Az elméletem,hogy:

    Bekérek egy mondatot,majd az adott szót csillaggal helyetesítjük.
    Mivel az adott szótt a felhasználó adja meg,akkor ez lehet 3 karakter,de lehet akár 18 karakter hosszú szó is,ezért le kell számoltatni,hogy az adott szó,adott tömb,hány elemű,majd ezt egyenlővé tenni 1 csillaggal. Ha jól gondolom. Vagy nem jó a gondolkodásom? :U

    Hali!

    Ezt az eljárást gyakran használják fórumokon, ahol ha oda nem illő szavakat helyettesítik.
    Itt a példa, hogy mit is kellene megvalósítani RothKrisz-nek.

    " aa aaa bb cc aa, aa-gg aaaa cccc aa, aa, baa."
    ebben cserélje le az "aa" szavakat "*"-ra, erdményül ezt kell kapni
    " * aaa bb cc *, * aaaa cccc *, *, baa."

    Fire.

  • cellpeti
    nagyúr

    Hali!

    Ezt: [link]
    De csak az ilyen Console alkalmazásokhoz.

    Fire.

    Na hello!

    Nekem erre a feladatra lenne egy elméletem,már a megvalósításnál járok,csak nem vagyok olyan gyors,mint te! :O

    Az elméletem,hogy:

    Bekérek egy mondatot,majd az adott szót csillaggal helyetesítjük.
    Mivel az adott szótt a felhasználó adja meg,akkor ez lehet 3 karakter,de lehet akár 18 karakter hosszú szó is,ezért le kell számoltatni,hogy az adott szó,adott tömb,hány elemű,majd ezt egyenlővé tenni 1 csillaggal. Ha jól gondolom. Vagy nem jó a gondolkodásom? :U

  • Fire/SOUL/CD
    félisten

    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!

    Hali!

    Ezt: [link]
    De csak az ilyen Console alkalmazásokhoz.

    Fire.

  • cellpeti
    nagyúr

    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!

    rothkrisz

    a szavakat te adod meg,ugye és azokat kell csillaggal kiváltani,ugye? Az előbb félreértelmeztem a feladatot! Sorry

  • cellpeti
    nagyúr

    Sziasztok!

    egy kis segítséget szeretnék kérni. Olyan programot kell írnom ami egy mondatban kicserél bizonyos szavakat *-ra.

    de sajnos nem jövök rá a megoldásra. Sztringkezelő műveletek használata tilos.

    tud valaki segíteni kicsit?

    köszi

    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!

  • rothkrisz
    csendes tag

    Sziasztok!

    egy kis segítséget szeretnék kérni. Olyan programot kell írnom ami egy mondatban kicserél bizonyos szavakat *-ra.

    de sajnos nem jövök rá a megoldásra. Sztringkezelő műveletek használata tilos.

    tud valaki segíteni kicsit?

    köszi

  • Fire/SOUL/CD
    félisten

    Mégis mi mást váhatnál azoktól, akiknek segítesz megírni programokat helyettük - hogy később mondjuk egy az egyben bevigyék a te megoldásodat, miközben ők nem érték el azt a szintet, hogy megírjanak maguktól ilyet -, minthogy lelkendezzenek, hogy milyen jó arc vagy te és milyen jó, amit csinálsz.
    Engem nem zavar, azt csinálsz, amit akarsz, de hogy helyesen teszed-e, hogy kérdés nélkül full megoldásokat prezentálsz, azt erősen kétlem. A szakmai témától kb. oda jutott a topik, hogy jönnek a nullhsz-es tagok feladatleírással, te meg beírod nekik a megoldást. Ettől még a büdös életben nem fog tudni magától egy programot megírni véleményem szerint, de te lehet, hogy hozzásegíted ahhoz, hogy egy tárgyon átvergődjön valahogyan, amiről lövése nem sok, de majd verheti a mellét az info diplomájára.

    szerintem is többet ér megírni egy progit, mintha nem válaszolna rá esetleg senki
    Ezzel kb. egyet tudok érteni, viszont nem hiszem, hogy ez volna a normális út. Eleve a kérdezőt eléggé pofátlannak tartom, aki bedob egy feladatleírást, hozzá se tud kezdeni, nincs kérdése, csak valami megoldást vár. A cél nem az kéne legyen, hogy a te megoldásoddal átjuttatod őket, hanem hogy eljussanak olyan szintre, amivel meg tudnak felelni a tárgyi követelményeknek, maguktól is képesek megírni, amit kell. Ehhez pedig részükről sok kitartás, szorgalom és tanulás kell, és el kell jutniuk legalább arra a szintre, hogy kérdezni tudjanak. De mint mondtam, azt csinálsz, amit jónak látsz, ez az én véleményem.

    Hali!

    1. Nézd, én szeretek segíteni másoknak, többek közt azért is, mert annak idején nekem nem segített senki, pedig sokszor rengeteg időt spórolhattam volna vele.
    (Egy (akkoriban) 300 lelket számláló településről származom, ahol nem hemzsegtek az informatikusok, meg a programozók, meg évekig az egyetlen "számítógép" az egy C64-es volt az egész faluban :DDD )
    Azzal sem foglalkozom, hogy valaki jó arcnak tart vagy sem, nem várok el senkitől elismerést, nincs feltűnési viszketettségem...

    2. Abban teljesen egyetértek Veled, hogy az nem jó megoldás, ha egy feltett kérdésre, forráskóddal válaszol az ember. Az, hogy most több forráskódot látsz tőlem, az csak "véletlen". (bár véletlenek nincsenek :DDD )
    A HSZ-oknak is van előzményük, nézzük CellPeti-t. Ha visszaolvasol, akkor látnod kell, hogy Ő a tudásához mérten megpróbálkozott elkészíteni a progit, kérdezett, javította amit kértem tőle, azaz kitartó és türelmes volt.(Ez számomra is fontos, akárcsak számodra). De eljutott egy olyan pontra, ahol kell az a kis "lökés". Biztos vagyok benne, hogy a forráskódnak köszönhetően, sokat tanult, látja hogy jó irányba halad, jól áll neki egy feladat megoldásához stb, és belátja, hogy a kitartásnak, türelemnek lesz eredménye.

    KisKatus esete teljesen más: [Előzmény]
    Bárki, aki elolvassa ezt HSZ-t, két dolgot tehet, vagy segít vagy nem. A kérés egyértelmű.
    Megnéztem, KisKatus nem tartozik abba a kategóriába, aki minden héten azt kéri, hogy valaki írja meg helyette a progikat.
    Én nem szoktam senkit bírálni. Mondhattam(vagy gondolhattam) volna, hogy "biztos egy lusta dög, egész évben nem tanult semmi, buktassák csak meg...stb".
    Csak ehhez nincs jogom, nem beszélve arról, hogy mekkorát tévedhet az ember.
    A legtöbbet a felkommentezett forráskóddal tudtam segíteni neki.

    3. lehet, hogy hihetetlen, de én sem segítek mindenkinek. Priv-be több emberkének is segítek Pascal, C ill. Assembly-ben. Volt pár arc, akinek sürgősen kellet a segítség, de írtam hogy válaszoljon, módosítson ezt-azt. Nem válaszolt. Majd egyszer váratlanul megint feltűnt, hogy megint gyorsan kellene kód.
    Na, akkor szépen megírtam neki, hogy keressen más emberkét kódot írni, engem meg felejtsen el.

    4.Én is tisztában vagyok vele, hogy pl Informatikus-képzés, hát nem épp a legjobb...
    Persze vannak nagyon jó sulik is.
    Régebben láttam olyan hirdetést, amiben Informatikust kerestek, a végére meg oda volt írva nagy kiemelt betűkkel, hogy az xxxxxxxxx intézményben végzettek kíméljenek!

    Fire.

  • Jester01
    veterán

    Mégis mi mást váhatnál azoktól, akiknek segítesz megírni programokat helyettük - hogy később mondjuk egy az egyben bevigyék a te megoldásodat, miközben ők nem érték el azt a szintet, hogy megírjanak maguktól ilyet -, minthogy lelkendezzenek, hogy milyen jó arc vagy te és milyen jó, amit csinálsz.
    Engem nem zavar, azt csinálsz, amit akarsz, de hogy helyesen teszed-e, hogy kérdés nélkül full megoldásokat prezentálsz, azt erősen kétlem. A szakmai témától kb. oda jutott a topik, hogy jönnek a nullhsz-es tagok feladatleírással, te meg beírod nekik a megoldást. Ettől még a büdös életben nem fog tudni magától egy programot megírni véleményem szerint, de te lehet, hogy hozzásegíted ahhoz, hogy egy tárgyon átvergődjön valahogyan, amiről lövése nem sok, de majd verheti a mellét az info diplomájára.

    szerintem is többet ér megírni egy progit, mintha nem válaszolna rá esetleg senki
    Ezzel kb. egyet tudok érteni, viszont nem hiszem, hogy ez volna a normális út. Eleve a kérdezőt eléggé pofátlannak tartom, aki bedob egy feladatleírást, hozzá se tud kezdeni, nincs kérdése, csak valami megoldást vár. A cél nem az kéne legyen, hogy a te megoldásoddal átjuttatod őket, hanem hogy eljussanak olyan szintre, amivel meg tudnak felelni a tárgyi követelményeknek, maguktól is képesek megírni, amit kell. Ehhez pedig részükről sok kitartás, szorgalom és tanulás kell, és el kell jutniuk legalább arra a szintre, hogy kérdezni tudjanak. De mint mondtam, azt csinálsz, amit jónak látsz, ez az én véleményem.

    Meg az enyém is :R

  • Lortech
    addikt

    Hali!

    Köszönöm a hozzászólást! :R
    Itt a kód, ami (miután tisztáztuk, hogy mit is kell írni) 10 perc alatt készült...

    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    #include <conio.h>

    #define MAXBINARIES 16
    #define MAXBITS 16
    #define NUMBERINDEX 0
    #define BITCOUNTINDEX 1

    char BinaryDigits[MAXBITS+1];
    int BinariesCount=0;
    unsigned int Numbers[MAXBITS][2];

    unsigned int btou(int bitnumber, char s[]) {

    int i;
    unsigned int number=0;

    for (i=bitnumber-1;i>=0;i--) {
    if (BinaryDigits[i]) number+=pow(2,bitnumber-i-1);
    }
    return number;
    }

    int bin(int bitnumber, char s[]) {

    int i;

    for (i=0;i<bitnumber;i++) {
    if (BinaryDigits[i]!=0 && BinaryDigits[i]!=1) {
    printf("Nem binaris szam, probalja ujra...\n");
    return 0;
    }
    }
    Numbers[BinariesCount][BITCOUNTINDEX]=bitnumber;
    Numbers[BinariesCount++][NUMBERINDEX]=btou(bitnumber,BinaryDigits);
    return 1;
    }

    void InputBinaries() {

    int i,j,ch;
    printf("Kerem a szamokat binaris formaban (max. 16 darab, max. 16 bites szamot)\n\n");
    for (i=0;i<MAXBINARIES;i++) {
    do {
    printf("%02d. szam: ",i+1);
    j=0;
    do {
    ch = getchar();
    BinaryDigits[j++] = ch-'0';
    }
    while( ch!='\n' && ch!=EOF && j <= MAXBITS);
    fflush(stdin);
    if (j==1) return;
    }
    while (!(bin(j-1,BinaryDigits)));
    }
    return;
    }

    void bintoscreen(int binariesndx) {

    int i;
    unsigned int a;

    a=Numbers[binariesndx][NUMBERINDEX];
    i=MAXBITS-Numbers[binariesndx][BITCOUNTINDEX];
    for (;i>0;i--) printf("0");
    for (i=Numbers[binariesndx][BITCOUNTINDEX]-1;i>=0;i--) {
    printf((a & (unsigned int)pow(2,i)) ? "1":"0");
    }
    }

    void bintoscreenXOR(int binariesndx) {

    int i,j,highbitcount;
    unsigned int a,b,c;

    highbitcount=0;
    a=Numbers[binariesndx][NUMBERINDEX];
    b=Numbers[binariesndx+1][NUMBERINDEX];
    c=a^b;
    if (Numbers[binariesndx][BITCOUNTINDEX]>Numbers[binariesndx+1][BITCOUNTINDEX])
    i=MAXBITS-Numbers[binariesndx][BITCOUNTINDEX];
    else i=MAXBITS-Numbers[binariesndx+1][BITCOUNTINDEX];
    j=i;
    for (;i>0;i--) printf("0");
    for (i=MAXBITS-j-1;i>=0;i--) {
    if (c & (unsigned int)pow(2,i)) {
    printf("1");
    highbitcount++;
    }
    else printf("0");
    }
    printf("\t%9u\t",a^b);
    printf((highbitcount % 2) ? "Paratlan" : "Paros");
    }

    int main() {

    int i;

    printf("Peldaprogram by Fire/SOUL/CD [Code::Blocks 8.02]\n\n");
    InputBinaries();
    if (BinariesCount) {
    printf("\nSorszam\tBinaris\t\t\tDecimalis\n\n");
    for (i=0;i<BinariesCount;i++) {
    printf("%02u.\t",i+1);
    bintoscreen(i);
    printf("\t%9u\n",Numbers[i][NUMBERINDEX]);
    }
    if (BinariesCount>1) {
    printf("\nSorszam\tBinaris\t\t\tDecimalis\tMagas bitek\n\n");
    for (i=0;i<BinariesCount-1;i++) {
    printf("%02u.\t",i+1);
    bintoscreen(i);
    printf("\t%9u\n",Numbers[i][NUMBERINDEX]);

    printf("%02u.\t",i+2);
    bintoscreen(i+1);
    printf("\t%9u\n",Numbers[i+1][NUMBERINDEX]);

    printf("XOR\t");
    bintoscreenXOR(i);
    printf("\n\n");
    }
    }
    }
    else printf("\nNem adott meg egyetlen binaris szamot sem...\n\n");

    printf("\nA kilepeshez usson le egy billentyut...");
    getch();

    return 0;
    }

    Fire.

    UI: szerintem is többet ér megírni egy progit, mintha nem válaszolna rá esetleg senki

    Mégis mi mást váhatnál azoktól, akiknek segítesz megírni programokat helyettük - hogy később mondjuk egy az egyben bevigyék a te megoldásodat, miközben ők nem érték el azt a szintet, hogy megírjanak maguktól ilyet -, minthogy lelkendezzenek, hogy milyen jó arc vagy te és milyen jó, amit csinálsz.
    Engem nem zavar, azt csinálsz, amit akarsz, de hogy helyesen teszed-e, hogy kérdés nélkül full megoldásokat prezentálsz, azt erősen kétlem. A szakmai témától kb. oda jutott a topik, hogy jönnek a nullhsz-es tagok feladatleírással, te meg beírod nekik a megoldást. Ettől még a büdös életben nem fog tudni magától egy programot megírni véleményem szerint, de te lehet, hogy hozzásegíted ahhoz, hogy egy tárgyon átvergődjön valahogyan, amiről lövése nem sok, de majd verheti a mellét az info diplomájára.

    szerintem is többet ér megírni egy progit, mintha nem válaszolna rá esetleg senki
    Ezzel kb. egyet tudok érteni, viszont nem hiszem, hogy ez volna a normális út. Eleve a kérdezőt eléggé pofátlannak tartom, aki bedob egy feladatleírást, hozzá se tud kezdeni, nincs kérdése, csak valami megoldást vár. A cél nem az kéne legyen, hogy a te megoldásoddal átjuttatod őket, hanem hogy eljussanak olyan szintre, amivel meg tudnak felelni a tárgyi követelményeknek, maguktól is képesek megírni, amit kell. Ehhez pedig részükről sok kitartás, szorgalom és tanulás kell, és el kell jutniuk legalább arra a szintre, hogy kérdezni tudjanak. De mint mondtam, azt csinálsz, amit jónak látsz, ez az én véleményem.

  • cellpeti
    nagyúr

    Jó, hát a más által megírt program az ugye nem szép dolog.
    Ha Fire/SOUL/CD is tanári babérokra hajt, akkor neki is inkább irányítania/segítenie kellene, nem kész programot prezentálni. SZVSZ.

    Hogy is mondják?? Bumm....szívtáááá :U

    ui.: nem bunkóságból mondom!

  • kiskatus
    csendes tag

    Hali!
    Én is úgy gondolom, hogy nagy segítség az is, hogy megírja a kért programot, hiszen nagyon sokat meg lehet belőle tanulni. És kérésemre leírta azt is, hogy mi miért van. (Csak meg kellett kérni).
    Szóval Fire nagyon segítőkész és ez nagy ritkaság manapság!
    Mégegyszer köszönöm Neki a segítséget!

  • cellpeti
    nagyúr

    Hali!

    Köszönöm a hozzászólást! :R
    Itt a kód, ami (miután tisztáztuk, hogy mit is kell írni) 10 perc alatt készült...

    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    #include <conio.h>

    #define MAXBINARIES 16
    #define MAXBITS 16
    #define NUMBERINDEX 0
    #define BITCOUNTINDEX 1

    char BinaryDigits[MAXBITS+1];
    int BinariesCount=0;
    unsigned int Numbers[MAXBITS][2];

    unsigned int btou(int bitnumber, char s[]) {

    int i;
    unsigned int number=0;

    for (i=bitnumber-1;i>=0;i--) {
    if (BinaryDigits[i]) number+=pow(2,bitnumber-i-1);
    }
    return number;
    }

    int bin(int bitnumber, char s[]) {

    int i;

    for (i=0;i<bitnumber;i++) {
    if (BinaryDigits[i]!=0 && BinaryDigits[i]!=1) {
    printf("Nem binaris szam, probalja ujra...\n");
    return 0;
    }
    }
    Numbers[BinariesCount][BITCOUNTINDEX]=bitnumber;
    Numbers[BinariesCount++][NUMBERINDEX]=btou(bitnumber,BinaryDigits);
    return 1;
    }

    void InputBinaries() {

    int i,j,ch;
    printf("Kerem a szamokat binaris formaban (max. 16 darab, max. 16 bites szamot)\n\n");
    for (i=0;i<MAXBINARIES;i++) {
    do {
    printf("%02d. szam: ",i+1);
    j=0;
    do {
    ch = getchar();
    BinaryDigits[j++] = ch-'0';
    }
    while( ch!='\n' && ch!=EOF && j <= MAXBITS);
    fflush(stdin);
    if (j==1) return;
    }
    while (!(bin(j-1,BinaryDigits)));
    }
    return;
    }

    void bintoscreen(int binariesndx) {

    int i;
    unsigned int a;

    a=Numbers[binariesndx][NUMBERINDEX];
    i=MAXBITS-Numbers[binariesndx][BITCOUNTINDEX];
    for (;i>0;i--) printf("0");
    for (i=Numbers[binariesndx][BITCOUNTINDEX]-1;i>=0;i--) {
    printf((a & (unsigned int)pow(2,i)) ? "1":"0");
    }
    }

    void bintoscreenXOR(int binariesndx) {

    int i,j,highbitcount;
    unsigned int a,b,c;

    highbitcount=0;
    a=Numbers[binariesndx][NUMBERINDEX];
    b=Numbers[binariesndx+1][NUMBERINDEX];
    c=a^b;
    if (Numbers[binariesndx][BITCOUNTINDEX]>Numbers[binariesndx+1][BITCOUNTINDEX])
    i=MAXBITS-Numbers[binariesndx][BITCOUNTINDEX];
    else i=MAXBITS-Numbers[binariesndx+1][BITCOUNTINDEX];
    j=i;
    for (;i>0;i--) printf("0");
    for (i=MAXBITS-j-1;i>=0;i--) {
    if (c & (unsigned int)pow(2,i)) {
    printf("1");
    highbitcount++;
    }
    else printf("0");
    }
    printf("\t%9u\t",a^b);
    printf((highbitcount % 2) ? "Paratlan" : "Paros");
    }

    int main() {

    int i;

    printf("Peldaprogram by Fire/SOUL/CD [Code::Blocks 8.02]\n\n");
    InputBinaries();
    if (BinariesCount) {
    printf("\nSorszam\tBinaris\t\t\tDecimalis\n\n");
    for (i=0;i<BinariesCount;i++) {
    printf("%02u.\t",i+1);
    bintoscreen(i);
    printf("\t%9u\n",Numbers[i][NUMBERINDEX]);
    }
    if (BinariesCount>1) {
    printf("\nSorszam\tBinaris\t\t\tDecimalis\tMagas bitek\n\n");
    for (i=0;i<BinariesCount-1;i++) {
    printf("%02u.\t",i+1);
    bintoscreen(i);
    printf("\t%9u\n",Numbers[i][NUMBERINDEX]);

    printf("%02u.\t",i+2);
    bintoscreen(i+1);
    printf("\t%9u\n",Numbers[i+1][NUMBERINDEX]);

    printf("XOR\t");
    bintoscreenXOR(i);
    printf("\n\n");
    }
    }
    }
    else printf("\nNem adott meg egyetlen binaris szamot sem...\n\n");

    printf("\nA kilepeshez usson le egy billentyut...");
    getch();

    return 0;
    }

    Fire.

    UI: szerintem is többet ér megírni egy progit, mintha nem válaszolna rá esetleg senki

    Fire.

    UI: szerintem is többet ér megírni egy progit, mintha nem válaszolna rá esetleg senki

    Ez így van! :C

  • Fire/SOUL/CD
    félisten

    Segít ő!
    Megírja a progit és akit érdekel,ugyis végignézi,mit miért és hogyan csinált benne,és elkezd rajta gondolkozni. Vagy párszor átnézi,megnézi benne az ötleteket és a folyamatok,majd nyit egy C környezetet és megpróbálja újra megírni!
    Sztem elég jó tanulási forma ez is! :U

    Hali!

    Köszönöm a hozzászólást! :R
    Itt a kód, ami (miután tisztáztuk, hogy mit is kell írni) 10 perc alatt készült...

    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    #include <conio.h>

    #define MAXBINARIES 16
    #define MAXBITS 16
    #define NUMBERINDEX 0
    #define BITCOUNTINDEX 1

    char BinaryDigits[MAXBITS+1];
    int BinariesCount=0;
    unsigned int Numbers[MAXBITS][2];

    unsigned int btou(int bitnumber, char s[]) {

    int i;
    unsigned int number=0;

    for (i=bitnumber-1;i>=0;i--) {
    if (BinaryDigits[i]) number+=pow(2,bitnumber-i-1);
    }
    return number;
    }

    int bin(int bitnumber, char s[]) {

    int i;

    for (i=0;i<bitnumber;i++) {
    if (BinaryDigits[i]!=0 && BinaryDigits[i]!=1) {
    printf("Nem binaris szam, probalja ujra...\n");
    return 0;
    }
    }
    Numbers[BinariesCount][BITCOUNTINDEX]=bitnumber;
    Numbers[BinariesCount++][NUMBERINDEX]=btou(bitnumber,BinaryDigits);
    return 1;
    }

    void InputBinaries() {

    int i,j,ch;
    printf("Kerem a szamokat binaris formaban (max. 16 darab, max. 16 bites szamot)\n\n");
    for (i=0;i<MAXBINARIES;i++) {
    do {
    printf("%02d. szam: ",i+1);
    j=0;
    do {
    ch = getchar();
    BinaryDigits[j++] = ch-'0';
    }
    while( ch!='\n' && ch!=EOF && j <= MAXBITS);
    fflush(stdin);
    if (j==1) return;
    }
    while (!(bin(j-1,BinaryDigits)));
    }
    return;
    }

    void bintoscreen(int binariesndx) {

    int i;
    unsigned int a;

    a=Numbers[binariesndx][NUMBERINDEX];
    i=MAXBITS-Numbers[binariesndx][BITCOUNTINDEX];
    for (;i>0;i--) printf("0");
    for (i=Numbers[binariesndx][BITCOUNTINDEX]-1;i>=0;i--) {
    printf((a & (unsigned int)pow(2,i)) ? "1":"0");
    }
    }

    void bintoscreenXOR(int binariesndx) {

    int i,j,highbitcount;
    unsigned int a,b,c;

    highbitcount=0;
    a=Numbers[binariesndx][NUMBERINDEX];
    b=Numbers[binariesndx+1][NUMBERINDEX];
    c=a^b;
    if (Numbers[binariesndx][BITCOUNTINDEX]>Numbers[binariesndx+1][BITCOUNTINDEX])
    i=MAXBITS-Numbers[binariesndx][BITCOUNTINDEX];
    else i=MAXBITS-Numbers[binariesndx+1][BITCOUNTINDEX];
    j=i;
    for (;i>0;i--) printf("0");
    for (i=MAXBITS-j-1;i>=0;i--) {
    if (c & (unsigned int)pow(2,i)) {
    printf("1");
    highbitcount++;
    }
    else printf("0");
    }
    printf("\t%9u\t",a^b);
    printf((highbitcount % 2) ? "Paratlan" : "Paros");
    }

    int main() {

    int i;

    printf("Peldaprogram by Fire/SOUL/CD [Code::Blocks 8.02]\n\n");
    InputBinaries();
    if (BinariesCount) {
    printf("\nSorszam\tBinaris\t\t\tDecimalis\n\n");
    for (i=0;i<BinariesCount;i++) {
    printf("%02u.\t",i+1);
    bintoscreen(i);
    printf("\t%9u\n",Numbers[i][NUMBERINDEX]);
    }
    if (BinariesCount>1) {
    printf("\nSorszam\tBinaris\t\t\tDecimalis\tMagas bitek\n\n");
    for (i=0;i<BinariesCount-1;i++) {
    printf("%02u.\t",i+1);
    bintoscreen(i);
    printf("\t%9u\n",Numbers[i][NUMBERINDEX]);

    printf("%02u.\t",i+2);
    bintoscreen(i+1);
    printf("\t%9u\n",Numbers[i+1][NUMBERINDEX]);

    printf("XOR\t");
    bintoscreenXOR(i);
    printf("\n\n");
    }
    }
    }
    else printf("\nNem adott meg egyetlen binaris szamot sem...\n\n");

    printf("\nA kilepeshez usson le egy billentyut...");
    getch();

    return 0;
    }

    Fire.

    UI: szerintem is többet ér megírni egy progit, mintha nem válaszolna rá esetleg senki

  • Fire/SOUL/CD
    félisten

    Jó, hát a más által megírt program az ugye nem szép dolog.
    Ha Fire/SOUL/CD is tanári babérokra hajt, akkor neki is inkább irányítania/segítenie kellene, nem kész programot prezentálni. SZVSZ.

    Hali!

    A Fire/SOUL/CD az kb 1992-ben rendszerprogramozó matematika szakon végzett.
    400 pontból 398-al, de csak azért, mert valamit nem tudott elolvasni a szaki, még ha a végeredmény stimmelt is. Ezenkívűl a választott diploma munkám címe ez volt:
    "Lineáris permutációk a káoszban avagy rendezettség a rendezettlen halmazban"

    Ebből adódóan, nem hajtok semmilyen babérokra(nincs mire).
    Sok esetben csak a kezdő "lökést" kell megadni pár emberkének, még ha ez azzal is jár, hogy megírod helyette a progit....

    Annyi gondom volt a progival, hogy így nem szabad megírni egy ilyen(file-compare) programot.
    (csak sajnos a tanárbá feltételei miatt, csak így lehetett)

    Fire.

  • cellpeti
    nagyúr

    Jó, hát a más által megírt program az ugye nem szép dolog.
    Ha Fire/SOUL/CD is tanári babérokra hajt, akkor neki is inkább irányítania/segítenie kellene, nem kész programot prezentálni. SZVSZ.

    Segít ő!
    Megírja a progit és akit érdekel,ugyis végignézi,mit miért és hogyan csinált benne,és elkezd rajta gondolkozni. Vagy párszor átnézi,megnézi benne az ötleteket és a folyamatok,majd nyit egy C környezetet és megpróbálja újra megírni!
    Sztem elég jó tanulási forma ez is! :U

  • Jester01
    veterán

    Ez sajnos nálunk is így van!
    pl nem használhatsz scanf-et csak printf-et,mert az nem vettük még...
    Egy csávóval meg nekiálltak kiabálni,hogy nem is ő írta a progit,asszem pendrive-on vitte be és azt adta be...

    Jó, hát a más által megírt program az ugye nem szép dolog.
    Ha Fire/SOUL/CD is tanári babérokra hajt, akkor neki is inkább irányítania/segítenie kellene, nem kész programot prezentálni. SZVSZ.

  • cellpeti
    nagyúr

    Jelen esetben persze tök fölösleges kétszer végigolvasni a fájlokat, hiszen az előzetes hossz ellenőrzésnek csak annyi értelme lenne, hogy akkor nem kell végigolvasni őket. Szépen el kell kezdeni összehasonlítani, aztán ha a hossz nem stimmel, az úgyis kiderül.

    A "nem fogadta el" résszel nekem nem a "nem tanította" résszel van bajom, hanem hogy miért nem örül inkább hogy a diák többet tud?

    Ez sajnos nálunk is így van!
    pl nem használhatsz scanf-et csak printf-et,mert az nem vettük még...
    Egy csávóval meg nekiálltak kiabálni,hogy nem is ő írta a progit,asszem pendrive-on vitte be és azt adta be...

  • Jester01
    veterán

    Hali!

    Először is szívesen segítek Neked, a most következő rész az csak úgy kikívánkozott belőlem, NEM NEKED SZÓL!
    "Elvittem az általad megírt programot és nem fogadta el, mert az fseek pozicionálást és az ftell-t még nem tanultuk."
    Amikor ezt elolvastam, két idézet suhant át az agyamon, az első Hofi Géza kabaréból, míg a másik egy PH tag aláírásából származik(bár ezt nem szó szerint idézem)
    "Szűz Mária idesanyám, aki a mennyekben lakozol titokban..." illetve
    "nem az a baj, hogy nagy az Isten állatkertje, hanem az, hogy alacsony a kerítés"
    Az aki ezt a feladatot feladta(alapszintű fájlkezelés kategória) és nem tanítja meg az alapszintű fájlkezelést Nektek(fseek, ftell stb), annak jobb lenne ha visszamászna a kerítésen belülre. :DDD
    Ugyanis oly módon kellett megírni a programot(fseek, ftell nélkül), hogy nyugodtan rá lehetne ragasztani azt a címkét, hogy "A világ leglassabbra optimalizált fájl-összehasonlító alkalmazása avagy hogy ne írjunk C-ben ilyen programot" :W

    Na mindegy...imhol a kód...

    #include <stdio.h>
    #include <stdlib.h>

    int main()
    {
    unsigned long ErrorCounter,FSize1,FSize2;
    unsigned char chFirst, chSecond;
    FILE * Szoveg1;
    FILE * Szoveg2;
    FILE * Kimenet;

    printf("Binaris osszehasonlitas\n\n");

    if (!(Szoveg1 = fopen("first.txt","rb"))) {
    fprintf(stderr,"Nem lehet megnyitni a 'first.txt' fajlt...\n");
    getchar();
    exit(-1);
    }

    if (!(Szoveg2 = fopen("second.txt","rb"))) {
    fprintf(stderr,"Nem lehet megnyitni a 'second.txt' fajlt...\n");
    fclose(Szoveg1);
    getchar();
    exit(-1);
    }
    //itt változik némileg a kód, csak úgy lehet meghatározni a fájlok hosszát
    //ha végig olvasom
    FSize1=0;
    while (fread(&chFirst,1,1,Szoveg1)==1) FSize1++;
    FSize2=0;
    while (fread(&chFirst,1,1,Szoveg2)==1) FSize2++;

    if (!FSize1 || !FSize2) {
    printf("A fajlok merete nem lehet 0 byte...");
    fclose(Szoveg1);
    fclose(Szoveg2);
    getchar();
    exit(-1);
    }
    if (FSize1!=FSize2) {
    printf("A ket fajl merete nem azonos...\n");
    fclose(Szoveg1);
    fclose(Szoveg2);
    getchar();
    exit(-1);
    }

    rewind(Szoveg1);
    rewind(Szoveg2);
    //innentől változatlan
    if (!(Kimenet = fopen("error.txt","wt"))) {
    fprintf(stderr,"Nem lehet megnyitni az 'error.txt' fajlt...\n");
    fclose(Szoveg1);
    fclose(Szoveg2);
    getchar();
    exit(-1);
    }
    ErrorCounter=0;
    while (fread(&chFirst,1,1,Szoveg1)==1) {
    fread(&chSecond,1,1,Szoveg2);
    if (chFirst!=chSecond) {
    fprintf(Kimenet,"File-pozicio: %#.8lx %#.2x <> %#.2x\n",ftell(Szoveg1),chFirst,chSecond);
    ErrorCounter++;
    }
    }
    if (ErrorCounter) printf("%lu elteres talalhato a ket fajl kozt.\nNezze meg az 'error.txt' fajl tartalmat...\n",ErrorCounter);
    else printf("A ket fajl azonos...\n");

    fclose(Szoveg1);
    fclose(Szoveg2);
    fclose(Kimenet);

    system("pause");

    return 0;
    }

    Fire.

    UI: ha legközelebb is kódot illesztesz be a HSZ-be, akkor légyszíves használd az erre a célra "kifejlesztett" :DDD KÓD feliratú gombot.

    Jelen esetben persze tök fölösleges kétszer végigolvasni a fájlokat, hiszen az előzetes hossz ellenőrzésnek csak annyi értelme lenne, hogy akkor nem kell végigolvasni őket. Szépen el kell kezdeni összehasonlítani, aztán ha a hossz nem stimmel, az úgyis kiderül.

    A "nem fogadta el" résszel nekem nem a "nem tanította" résszel van bajom, hanem hogy miért nem örül inkább hogy a diák többet tud?

  • Fire/SOUL/CD
    félisten

    Kedves Fire!
    Elvittem az általad megírt programot és nem fogadta el, mert az fseek pozicionálást és az ftell-t még nem tanultuk. Azt mondta, hogy rewind-el kell megoldani. Tudnál segíteni benne?

    #include <stdio.h>
    #include <stdlib.h>

    int main()
    {
    unsigned long ErrorCounter;
    unsigned char chFirst, chSecond;
    FILE * Szoveg1;
    FILE * Szoveg2;
    FILE * Kimenet;

    printf("Binaris osszehasonlitas\n\n");

    if (!(Szoveg1 = fopen("first.txt","rb"))) {
    fprintf(stderr,"Nem lehet megnyitni a 'first.txt' fajlt...\n");
    getchar();
    exit(-1);
    }

    if (!(Szoveg2 = fopen("second.txt","rb"))) {
    fprintf(stderr,"Nem lehet megnyitni a 'second.txt' fajlt...\n");
    fclose(Szoveg1);
    getchar();
    exit(-1);
    }
    fseek(Szoveg1,0,SEEK_END);
    fseek(Szoveg2,0,SEEK_END);
    if (ftell(Szoveg1)!=ftell(Szoveg2)) {
    printf("A két fájl mérete nem azonos...\n");
    fclose(Szoveg1);
    fclose(Szoveg2);
    getchar();
    exit(-1);
    }
    if (!ftell(Szoveg1)) {
    printf("A fajlok merete nem lehet 0 byte...");
    fclose(Szoveg1);
    fclose(Szoveg2);
    getchar();
    exit(-1);
    }
    fseek(Szoveg1,0,SEEK_SET);
    fseek(Szoveg2,0,SEEK_SET);
    if (!(Kimenet = fopen("error.txt","wt"))) {
    fprintf(stderr,"Nem lehet megnyitni az 'error.txt' fajlt...\n");
    fclose(Szoveg1);
    fclose(Szoveg2);
    getchar();
    exit(-1);
    }
    ErrorCounter=0;
    while (fread(&chFirst,1,1,Szoveg1)==1) {
    fread(&chSecond,1,1,Szoveg2);
    if (chFirst!=chSecond) {
    fprintf(Kimenet,"File-pozicio: %#.8lx %#.2x <> %#.2x\n",ftell(Szoveg1),chFirst,chSecond);
    ErrorCounter++;
    }
    }
    if (ErrorCounter) printf("%lu elteres talalhato a ket fajl kozt.\nNezze meg az 'error.txt' fajl tartalmat...\n",ErrorCounter);
    else printf("A ket fajl azonos...\n");

    fclose(Szoveg1);
    fclose(Szoveg2);
    fclose(Kimenet);

    system("pause");

    return 0;
    }

    Hali!

    Először is szívesen segítek Neked, a most következő rész az csak úgy kikívánkozott belőlem, NEM NEKED SZÓL!
    "Elvittem az általad megírt programot és nem fogadta el, mert az fseek pozicionálást és az ftell-t még nem tanultuk."
    Amikor ezt elolvastam, két idézet suhant át az agyamon, az első Hofi Géza kabaréból, míg a másik egy PH tag aláírásából származik(bár ezt nem szó szerint idézem)
    "Szűz Mária idesanyám, aki a mennyekben lakozol titokban..." illetve
    "nem az a baj, hogy nagy az Isten állatkertje, hanem az, hogy alacsony a kerítés"
    Az aki ezt a feladatot feladta(alapszintű fájlkezelés kategória) és nem tanítja meg az alapszintű fájlkezelést Nektek(fseek, ftell stb), annak jobb lenne ha visszamászna a kerítésen belülre. :DDD
    Ugyanis oly módon kellett megírni a programot(fseek, ftell nélkül), hogy nyugodtan rá lehetne ragasztani azt a címkét, hogy "A világ leglassabbra optimalizált fájl-összehasonlító alkalmazása avagy hogy ne írjunk C-ben ilyen programot" :W

    Na mindegy...imhol a kód...

    #include <stdio.h>
    #include <stdlib.h>

    int main()
    {
    unsigned long ErrorCounter,FSize1,FSize2;
    unsigned char chFirst, chSecond;
    FILE * Szoveg1;
    FILE * Szoveg2;
    FILE * Kimenet;

    printf("Binaris osszehasonlitas\n\n");

    if (!(Szoveg1 = fopen("first.txt","rb"))) {
    fprintf(stderr,"Nem lehet megnyitni a 'first.txt' fajlt...\n");
    getchar();
    exit(-1);
    }

    if (!(Szoveg2 = fopen("second.txt","rb"))) {
    fprintf(stderr,"Nem lehet megnyitni a 'second.txt' fajlt...\n");
    fclose(Szoveg1);
    getchar();
    exit(-1);
    }
    //itt változik némileg a kód, csak úgy lehet meghatározni a fájlok hosszát
    //ha végig olvasom
    FSize1=0;
    while (fread(&chFirst,1,1,Szoveg1)==1) FSize1++;
    FSize2=0;
    while (fread(&chFirst,1,1,Szoveg2)==1) FSize2++;

    if (!FSize1 || !FSize2) {
    printf("A fajlok merete nem lehet 0 byte...");
    fclose(Szoveg1);
    fclose(Szoveg2);
    getchar();
    exit(-1);
    }
    if (FSize1!=FSize2) {
    printf("A ket fajl merete nem azonos...\n");
    fclose(Szoveg1);
    fclose(Szoveg2);
    getchar();
    exit(-1);
    }

    rewind(Szoveg1);
    rewind(Szoveg2);
    //innentől változatlan
    if (!(Kimenet = fopen("error.txt","wt"))) {
    fprintf(stderr,"Nem lehet megnyitni az 'error.txt' fajlt...\n");
    fclose(Szoveg1);
    fclose(Szoveg2);
    getchar();
    exit(-1);
    }
    ErrorCounter=0;
    while (fread(&chFirst,1,1,Szoveg1)==1) {
    fread(&chSecond,1,1,Szoveg2);
    if (chFirst!=chSecond) {
    fprintf(Kimenet,"File-pozicio: %#.8lx %#.2x <> %#.2x\n",ftell(Szoveg1),chFirst,chSecond);
    ErrorCounter++;
    }
    }
    if (ErrorCounter) printf("%lu elteres talalhato a ket fajl kozt.\nNezze meg az 'error.txt' fajl tartalmat...\n",ErrorCounter);
    else printf("A ket fajl azonos...\n");

    fclose(Szoveg1);
    fclose(Szoveg2);
    fclose(Kimenet);

    system("pause");

    return 0;
    }

    Fire.

    UI: ha legközelebb is kódot illesztesz be a HSZ-be, akkor légyszíves használd az erre a célra "kifejlesztett" :DDD KÓD feliratú gombot.

  • cellpeti
    nagyúr

    Sziasztok!

    Keresek olyan embert aki nagyon vágja a C prog nyelvet!
    Olyan embert keresek,aki Győrbe vagy Győr közelében lakik és hétközbe tudna segíteni nekem! :U

  • Fire/SOUL/CD
    félisten

    Kedves Fire!
    Elvittem az általad megírt programot és nem fogadta el, mert az fseek pozicionálást és az ftell-t még nem tanultuk. Azt mondta, hogy rewind-el kell megoldani. Tudnál segíteni benne?

    #include <stdio.h>
    #include <stdlib.h>

    int main()
    {
    unsigned long ErrorCounter;
    unsigned char chFirst, chSecond;
    FILE * Szoveg1;
    FILE * Szoveg2;
    FILE * Kimenet;

    printf("Binaris osszehasonlitas\n\n");

    if (!(Szoveg1 = fopen("first.txt","rb"))) {
    fprintf(stderr,"Nem lehet megnyitni a 'first.txt' fajlt...\n");
    getchar();
    exit(-1);
    }

    if (!(Szoveg2 = fopen("second.txt","rb"))) {
    fprintf(stderr,"Nem lehet megnyitni a 'second.txt' fajlt...\n");
    fclose(Szoveg1);
    getchar();
    exit(-1);
    }
    fseek(Szoveg1,0,SEEK_END);
    fseek(Szoveg2,0,SEEK_END);
    if (ftell(Szoveg1)!=ftell(Szoveg2)) {
    printf("A két fájl mérete nem azonos...\n");
    fclose(Szoveg1);
    fclose(Szoveg2);
    getchar();
    exit(-1);
    }
    if (!ftell(Szoveg1)) {
    printf("A fajlok merete nem lehet 0 byte...");
    fclose(Szoveg1);
    fclose(Szoveg2);
    getchar();
    exit(-1);
    }
    fseek(Szoveg1,0,SEEK_SET);
    fseek(Szoveg2,0,SEEK_SET);
    if (!(Kimenet = fopen("error.txt","wt"))) {
    fprintf(stderr,"Nem lehet megnyitni az 'error.txt' fajlt...\n");
    fclose(Szoveg1);
    fclose(Szoveg2);
    getchar();
    exit(-1);
    }
    ErrorCounter=0;
    while (fread(&chFirst,1,1,Szoveg1)==1) {
    fread(&chSecond,1,1,Szoveg2);
    if (chFirst!=chSecond) {
    fprintf(Kimenet,"File-pozicio: %#.8lx %#.2x <> %#.2x\n",ftell(Szoveg1),chFirst,chSecond);
    ErrorCounter++;
    }
    }
    if (ErrorCounter) printf("%lu elteres talalhato a ket fajl kozt.\nNezze meg az 'error.txt' fajl tartalmat...\n",ErrorCounter);
    else printf("A ket fajl azonos...\n");

    fclose(Szoveg1);
    fclose(Szoveg2);
    fclose(Kimenet);

    system("pause");

    return 0;
    }

    Hali!

    Egy keresztkérdés: a dinamikus memóriafoglalást tanultátok? (MALLOC például)

    Fire.

  • kiskatus
    csendes tag

    Kedves Fire!
    Elvittem az általad megírt programot és nem fogadta el, mert az fseek pozicionálást és az ftell-t még nem tanultuk. Azt mondta, hogy rewind-el kell megoldani. Tudnál segíteni benne?

    #include <stdio.h>
    #include <stdlib.h>

    int main()
    {
    unsigned long ErrorCounter;
    unsigned char chFirst, chSecond;
    FILE * Szoveg1;
    FILE * Szoveg2;
    FILE * Kimenet;

    printf("Binaris osszehasonlitas\n\n");

    if (!(Szoveg1 = fopen("first.txt","rb"))) {
    fprintf(stderr,"Nem lehet megnyitni a 'first.txt' fajlt...\n");
    getchar();
    exit(-1);
    }

    if (!(Szoveg2 = fopen("second.txt","rb"))) {
    fprintf(stderr,"Nem lehet megnyitni a 'second.txt' fajlt...\n");
    fclose(Szoveg1);
    getchar();
    exit(-1);
    }
    fseek(Szoveg1,0,SEEK_END);
    fseek(Szoveg2,0,SEEK_END);
    if (ftell(Szoveg1)!=ftell(Szoveg2)) {
    printf("A két fájl mérete nem azonos...\n");
    fclose(Szoveg1);
    fclose(Szoveg2);
    getchar();
    exit(-1);
    }
    if (!ftell(Szoveg1)) {
    printf("A fajlok merete nem lehet 0 byte...");
    fclose(Szoveg1);
    fclose(Szoveg2);
    getchar();
    exit(-1);
    }
    fseek(Szoveg1,0,SEEK_SET);
    fseek(Szoveg2,0,SEEK_SET);
    if (!(Kimenet = fopen("error.txt","wt"))) {
    fprintf(stderr,"Nem lehet megnyitni az 'error.txt' fajlt...\n");
    fclose(Szoveg1);
    fclose(Szoveg2);
    getchar();
    exit(-1);
    }
    ErrorCounter=0;
    while (fread(&chFirst,1,1,Szoveg1)==1) {
    fread(&chSecond,1,1,Szoveg2);
    if (chFirst!=chSecond) {
    fprintf(Kimenet,"File-pozicio: %#.8lx %#.2x <> %#.2x\n",ftell(Szoveg1),chFirst,chSecond);
    ErrorCounter++;
    }
    }
    if (ErrorCounter) printf("%lu elteres talalhato a ket fajl kozt.\nNezze meg az 'error.txt' fajl tartalmat...\n",ErrorCounter);
    else printf("A ket fajl azonos...\n");

    fclose(Szoveg1);
    fclose(Szoveg2);
    fclose(Kimenet);

    system("pause");

    return 0;
    }

  • Azt tapasztaltam a frissen telepített vista home premium rendszernél, hogy ha c-ben tömböt használok, akkor a lefordított program nem hajlandó elindulni. Appcrash.
    A forrásban nincs hiba, sem warning. Ahogy kikommentezem a tömböt használó sorokat a program működik. A fordítás probléma mentes. (eclipse, mingw, msys).
    Más is tapasztalt hasonlót?

  • cellpeti
    nagyúr

    Na megy a dolog!

    Itt a kód,de nem hiszem,hogy jó! Vagy nem is jól álltam neki???

    #include <stdio.h>
    #include <string.h>
    #include <ctype.h>
    #include <stdlib.h>
    #include <math.h>

    #define MAX 50

    int getline(char s[],int lim)
    {
    int c,i;
    for(i=0;i<lim&&(c=getchar())!=EOF&&c!='\n';++i)s[i]=c;
    s[i]='\0';
    while(c!=EOF&&c!='\n')c=getchar();
    return(i);
    }

    int egesze(char s[]){
    int i=0, kezd;
    while (s[i]==' ' || s[i]=='\n' || s[i]=='\t')++i;
    if(s[i]=='+' || s[i]=='-')++i;
    kezd=i;
    while(s[i]>='0' && s[i]<='9')++i;
    if(i==kezd || s[i]!=' ' && s[i]!='\t' && s[i]!='\n' && s [i]!=0) return 0;
    else return 1;}

    void main(void){
    char nev[MAX+1];
    char szam[MAX+1];
    float tav;
    int d,i,c;

    printf("Kerem a nevezok szamat: ");
    for(i=0;i<szam;i++){
    getline(szam,MAX);
    if (!egesze(szam)) printf("Akkor nem szamot adott meg!\n");
    else printf("Helyes megadás!\n");
    nevez=atoi(szam); }

    do{

    printf("Kerem a %d. versenyző nevét!\n",nevez);
    getline(nev,MAX);
    for(i=0;i<nev;i++)
    if(islower(szam[0])) printf("Nem kezdodhet kisbetüvel!\n");
    if(islower(szam)) printf("Csak kisbetű lehet a névbe!\n");
    if(isupper(szam[0])) printf("Jó! Csak nagybetűvel kezdődhet!\n");
    if(isalpha(szam)) printf("Nem lehet benne szam!\n");



    }while





    }

  • doc
    nagyúr

    Ez mi?????


    KÉP

    Vizsgafeladatom:

    Van egy verseny,max 50en vehetnek részt!
    Be kell kérni X versenyzőt,azok neveit és a dobásuk nagyságát!
    A névbe kisbetű,nagybetű és space szerepelhet.

    Ki kell írni ki dobta a legnagyobbat és ha 2 ember ugyanannyit dobott egymás után,akkor az első lesz a helyes!

    NEM TUDTAM MEGÍRNI! :W :O

    ez nem programozas, hanem vindoooz: "Permission denied"

  • cellpeti
    nagyúr

    Ez mi?????


    KÉP

    Vizsgafeladatom:

    Van egy verseny,max 50en vehetnek részt!
    Be kell kérni X versenyzőt,azok neveit és a dobásuk nagyságát!
    A névbe kisbetű,nagybetű és space szerepelhet.

    Ki kell írni ki dobta a legnagyobbat és ha 2 ember ugyanannyit dobott egymás után,akkor az első lesz a helyes!

    NEM TUDTAM MEGÍRNI! :W :O

  • Fire/SOUL/CD
    félisten

    Hali!

    Amúgy megírtam, azt a bináris kódot, ha érdekel berakhatom ide, vagy privátba.
    (bár még mindig nem kommenteztem fel :DDD )
    De talán programozástechnikailag találsz bent alkalmazható megoldásokat, elveket és segíthet legközelebb egy másik feladat megoldásában... :K

    Fire.

  • cellpeti
    nagyúr

    Hali!

    Ez jó, ez tetszik!!! LOL :)) Ezek szerint, amúgy egész jó fej lehet, csak talán túl görcsösen ragaszkodik, az általa megszokott dolgokhoz(void main(void) :DDD
    Akkor, ha valakinek segítek, az első kérdésem az lesz, hogy hol is tanul...
    Aztán ha ott Győrben, akkor már töltöm is a fejlesztőkörnyezet számára a BAUER PETI BA settings-et. :C

    Fire.

    :)) :))

  • Fire/SOUL/CD
    félisten

    Gyorben, a Szechenyin
    amugy eleg erdekes figura, a szovegeit (felall benne a plehtorpe, stb) generaciok szajkozzak :D
    o irt olyan programot pl. ami vegen billentyure varasnal kiirta hogy "nyomjon meg egy gombot, kap egy libacombot" :C
    persze senki sem kap combot...

    Hali!

    Ez jó, ez tetszik!!! LOL :)) Ezek szerint, amúgy egész jó fej lehet, csak talán túl görcsösen ragaszkodik, az általa megszokott dolgokhoz(void main(void) :DDD
    Akkor, ha valakinek segítek, az első kérdésem az lesz, hogy hol is tanul...
    Aztán ha ott Győrben, akkor már töltöm is a fejlesztőkörnyezet számára a BAUER PETI BA settings-et. :C

    Fire.

  • doc
    nagyúr

    Hali!

    Ha nem vagyok túl indiszkrét, hol és milyen oktatási intézményben tanít ez a Bauer Peti bácsi? :DDD
    (mintha tavaly is lett volna valaki, akinek azért kellet átírni a kódját, mert azt csak Bauer Peti bá kompatibilisen lehet megírni) :C

    Fire.

    Gyorben, a Szechenyin
    amugy eleg erdekes figura, a szovegeit (felall benne a plehtorpe, stb) generaciok szajkozzak :D
    o irt olyan programot pl. ami vegen billentyure varasnal kiirta hogy "nyomjon meg egy gombot, kap egy libacombot" :C
    persze senki sem kap combot...

  • cellpeti
    nagyúr

    Hali!

    Ha nem vagyok túl indiszkrét, hol és milyen oktatási intézményben tanít ez a Bauer Peti bácsi? :DDD
    (mintha tavaly is lett volna valaki, akinek azért kellet átírni a kódját, mert azt csak Bauer Peti bá kompatibilisen lehet megírni) :C

    Fire.

    Széchenyi István Egyetem - Műszaki Tudományi Kar - Jedlik Ányos Gépész-, Informatikai és Villamosmérnöki Intézet - Mérnök Informatikus szak,GYŐR!

  • Fire/SOUL/CD
    félisten

    bauer allat :)
    csinald ugy ahogy akarja, csak tudd azt is, hogy hogyan KELL
    o mar begyoposodott annyira hogy egy atombomba sem moccantana meg a vilagnezetet ill oktatasi modszereit...

    Hali!

    Ha nem vagyok túl indiszkrét, hol és milyen oktatási intézményben tanít ez a Bauer Peti bácsi? :DDD
    (mintha tavaly is lett volna valaki, akinek azért kellet átírni a kódját, mert azt csak Bauer Peti bá kompatibilisen lehet megírni) :C

    Fire.

  • doc
    nagyúr

    int main-val kezdtem és lezártam egy return 0;-val!

    Egyiket se fogadja el!

    Bauer Péti bácsinak void main(void)-ot kell megadni,különben bukó :O

    Hogy betűt ne lehessen bevinni,azt most próbálom javítani

    bauer allat :)
    csinald ugy ahogy akarja, csak tudd azt is, hogy hogyan KELL
    o mar begyoposodott annyira hogy egy atombomba sem moccantana meg a vilagnezetet ill oktatasi modszereit...

  • cellpeti
    nagyúr

    Közbe elkezdtem írni egy számológépet!
    De oly jól megírtam,hogy lefagy,mikor kéri a műveleti jelet,hirtelen csak ez a megoldás jutott eszembe,de nem az igazi sztem :(

    #include <stdio.h>
    #include <string.h>
    #include<conio.h>

    #define MAX 1000
    #define MIN -1000
    #define MAXDB 3

    int getline(char s[],int lim){
    int i;
    char c;
    for(i=0;i<lim && (c=getchar())!='\n' && c!=EOF;++i)s[i]=c;
    s[i]='\0';
    while(c!='\n'&& c!=EOF)c=getchar();
    return i;
    }


    void main(void){
    float szam[MAXDB+1];
    int i=1,ok,muv[1];

    do{
    printf("Kerem a %d. szamot: ",i);
    if(!getline(szam,MAXDB)) printf("\nUres sort utottek!\n\n");
    else i++;
    printf("Kerek egy muveleti jelet: ");
    do{
    ok=1;
    if(muv[0]=='*'){ok=1;}
    else if(muv[0]=='+'){ok=1;}
    else if(muv[0]=='-'){ok=1;}
    else if(muv[0]=='/'){ok=1;}
    else(ok=0);
    }while(ok!=1);
    }while(i<MAXDB);


    }

  • cellpeti
    nagyúr

    ja mert || -val választottam el,azért?

    na itt egy feladat,nem igazán tudom,hogy álljak neki,csak sejtésem van!

    a programozo megadott egy szot
    azt kellett kitalalni
    de nem betunkent
    hanem be kellett gepelni egy szot
    es megnezni h az egyezik e azzal amit a programozo adott meg
    es ha nem egyezett, akkor ki kellett irni h melyik pozicion talaltad el a betut es melyiken nem

  • Fire/SOUL/CD
    félisten

    int main-val kezdtem és lezártam egy return 0;-val!

    Egyiket se fogadja el!

    Bauer Péti bácsinak void main(void)-ot kell megadni,különben bukó :O

    Hogy betűt ne lehessen bevinni,azt most próbálom javítani

    Hali!

    Az a void nem akkora gond! Na közben megírtam az egészet, bár nem hinném, hogy 100%-ban "Bauer Peti bá' kompatibilis". :DDD
    Csak nincs lelkierőm nekiállni felkommentezni, mert ha alapos akarok lenni, akkor az legalább egy óra....

    Amúgy meg nem a "bin függvényben" van a gond, hanem az a gáz, hogy oda el sem jut, azaz nem hívódik meg... ;)

    Fire.

  • cellpeti
    nagyúr

    Hali!

    Nos én a bináris számok beviteléhez szólnék hozzá. (CodeBlocks-ot használok)
    3 figyelmeztetés jelenik meg a fordítás alatt(célszerű ezeket is javítani)

    1. warning: unused variable `rosszszam'
    deklaráltad a rosszszam változót de nem használod, töröld ki

    2. warning: implicit declaration of function `pow'
    anélkül használod a pow függvényt, hogy a header file include-olva lenne
    írd be, hogy #include <math.h>

    3. warning: return type of 'main' is not `int'
    a void main(void) helyett int main() ill. a program végére egy return 0

    A programról(bár lehet, hogy ugyebár azóta továbbfejlesztetted :U )

    Hibás az adatbevitel azon része, ami a bináris jegyeket ellenőrzi, mert simán elfogadja ezt:
    0a vagy 1a vagy 010101a0101 :F
    Ez javításra szorul.

    Bár tudom, hogy a feladat szerint "pontosan 16 darab" számot kellene bekérni, de engem roppant módon irritál. Gyakorlásként majd ha minden működik így, utána írd át úgy, hogy max 16 darab számot lehessen bevinni, de ha üressort talál, akkor csak annyi számmal dolgozik amennyit addig bevittem. ;)

    Fire.

    int main-val kezdtem és lezártam egy return 0;-val!

    Egyiket se fogadja el!

    Bauer Péti bácsinak void main(void)-ot kell megadni,különben bukó :O

    Hogy betűt ne lehessen bevinni,azt most próbálom javítani

  • Fire/SOUL/CD
    félisten

    Szia!

    Az elsót megcsináltam! Csak sajnos sok idő alatt,de még gyakorlok!
    Utánna egy köbszámosnak álltam neki,de azzal még nem végeztem! :U

    Hali!

    Nos én a bináris számok beviteléhez szólnék hozzá. (CodeBlocks-ot használok)
    3 figyelmeztetés jelenik meg a fordítás alatt(célszerű ezeket is javítani)

    1. warning: unused variable `rosszszam'
    deklaráltad a rosszszam változót de nem használod, töröld ki

    2. warning: implicit declaration of function `pow'
    anélkül használod a pow függvényt, hogy a header file include-olva lenne
    írd be, hogy #include <math.h>

    3. warning: return type of 'main' is not `int'
    a void main(void) helyett int main() ill. a program végére egy return 0

    A programról(bár lehet, hogy ugyebár azóta továbbfejlesztetted :U )

    Hibás az adatbevitel azon része, ami a bináris jegyeket ellenőrzi, mert simán elfogadja ezt:
    0a vagy 1a vagy 010101a0101 :F
    Ez javításra szorul.

    Bár tudom, hogy a feladat szerint "pontosan 16 darab" számot kellene bekérni, de engem roppant módon irritál. Gyakorlásként majd ha minden működik így, utána írd át úgy, hogy max 16 darab számot lehessen bevinni, de ha üressort talál, akkor csak annyi számmal dolgozik amennyit addig bevittem. ;)

    Fire.

  • cellpeti
    nagyúr

    Hali!

    Bocsi, hogy csak úgy eltüntem hirtelen, de megadta magát egy céges hálózat, aztán mennem kellett. Látom azért nem adod fel a küzdelmet. :DDD
    Holnap leszek, aztán megnézem mit sikerült alkotni, most hulla fáradt vagyok.... :O

    Fire.

    Szia!

    Az elsót megcsináltam! Csak sajnos sok idő alatt,de még gyakorlok!
    Utánna egy köbszámosnak álltam neki,de azzal még nem végeztem! :U

  • Fire/SOUL/CD
    félisten

    Na valami kezd sikeredni! Lehet,hogy túl sok feltételt írtam az if-be de így is működik!
    Tehát EOF és üres sor ütéséré és ha nem 0 vagy nem 1 ütöttünk újra kér egy bináris kódot!

    #include <stdio.h>
    #include <string.h>
    #include<conio.h>

    #define MAXDB 17

    int getline(char s[],int lim){
    int i;
    char c;
    for(i=0;i<lim && (c=getchar())!='\n' && c!=EOF;++i)s[i]=c;
    s[i]='\0';
    while(c!='\n'&& c!=EOF)c=getchar();
    return i;
    }

    int bin(char s[]) {
    int rosszszam=0, i;

    for(i=0; i<strlen(s); i++) {
    if(s[i]!='0' && s[i]!='1') {
    return 0;
    }
    }
    return 1;
    }

    unsigned int btou(char s[]) {
    int eredmeny=0, i;

    strrev(s);
    for(i = strlen(s) - 1; i>=0; i--) {
    if(s[i]=='1')
    eredmeny+=(int)pow(2, i);
    }

    return eredmeny;
    }

    void main(void){
    char a[MAXDB+1];
    int i=1;

    do{
    printf("Kerem a %d. binaris szamot: ",i);
    if(!getline(a,MAXDB!=' ') || !EOF || (!bin(a))) printf("Ures sor,vagy EOF vagy nem binaris kód\n");
    else i++;
    }while(i<MAXDB);
    }

    Hali!

    Bocsi, hogy csak úgy eltüntem hirtelen, de megadta magát egy céges hálózat, aztán mennem kellett. Látom azért nem adod fel a küzdelmet. :DDD
    Holnap leszek, aztán megnézem mit sikerült alkotni, most hulla fáradt vagyok.... :O

    Fire.

  • cellpeti
    nagyúr

    Na valami kezd sikeredni! Lehet,hogy túl sok feltételt írtam az if-be de így is működik!
    Tehát EOF és üres sor ütéséré és ha nem 0 vagy nem 1 ütöttünk újra kér egy bináris kódot!

    #include <stdio.h>
    #include <string.h>
    #include<conio.h>

    #define MAXDB 17

    int getline(char s[],int lim){
    int i;
    char c;
    for(i=0;i<lim && (c=getchar())!='\n' && c!=EOF;++i)s[i]=c;
    s[i]='\0';
    while(c!='\n'&& c!=EOF)c=getchar();
    return i;
    }

    int bin(char s[]) {
    int rosszszam=0, i;

    for(i=0; i<strlen(s); i++) {
    if(s[i]!='0' && s[i]!='1') {
    return 0;
    }
    }
    return 1;
    }

    unsigned int btou(char s[]) {
    int eredmeny=0, i;

    strrev(s);
    for(i = strlen(s) - 1; i>=0; i--) {
    if(s[i]=='1')
    eredmeny+=(int)pow(2, i);
    }

    return eredmeny;
    }

    void main(void){
    char a[MAXDB+1];
    int i=1;

    do{
    printf("Kerem a %d. binaris szamot: ",i);
    if(!getline(a,MAXDB!=' ') || !EOF || (!bin(a))) printf("Ures sor,vagy EOF vagy nem binaris kód\n");
    else i++;
    }while(i<MAXDB);
    }

  • cellpeti
    nagyúr

    na találtam egy ilyesmi fv-t,hogy csak az 1-t és 0-t engedélyezze,de nem tiszta,elmagyarázná valaki?

    int bin(char s[]) {
    int rosszszam=0, i;

    for(i=0; i<strlen(s); i++) {
    if(s[i]!='0' && s[i]!='1') {
    return 0;
    }
    }
    return 1;
    }

    Az én sejtésem:

    int típussal tér vissza
    végig megy a tömbön,úgy,hogy amíg S tömb i.-k eleme nem 0 és nem 1 akkor hamis!
    Ezek után akkor lesz igaz,ha az előzóő feltétel hamis volt!

    Vagy rosszul gondolkodom?

    de ezt beleteszem,azt lefagy a prog. De ha kikommentelem,akkor meg jó,de akkor a többi számot is be lehet adni neki

    linkelem,mert nem fér be ide a kód

  • cellpeti
    nagyúr

    na találtam egy ilyesmi fv-t,hogy csak az 1-t és 0-t engedélyezze,de nem tiszta,elmagyarázná valaki?

    int bin(char s[]) {
    int rosszszam=0, i;

    for(i=0; i<strlen(s); i++) {
    if(s[i]!='0' && s[i]!='1') {
    return 0;
    }
    }
    return 1;
    }

    Az én sejtésem:

    int típussal tér vissza
    végig megy a tömbön,úgy,hogy amíg S tömb i.-k eleme nem 0 és nem 1 akkor hamis!
    Ezek után akkor lesz igaz,ha az előzóő feltétel hamis volt!

    Vagy rosszul gondolkodom?

  • cellpeti
    nagyúr

    hááát... :U Lehet ultra nagy baromság ám,meg nem is biztos,hogy jó a feltétel,meg sok minden lehet rossz benne :O
    Az a baj,hogy más számot is lehet ütni,nem csak 0-t meg 1-et! meg ha üres sor,akkor is tovább engedi számolni a számokat!Szóval egy nagy szar! :O

    #include <stdio.h>
    #include <string.h>
    #include <math.h>
    #include<conio.h>

    #define MAXDB 17 /* mert nem 0-tól indul a számok számlálása,hanem 1-től,mert szebb */

    int getline(char s[],int lim){
    int i;
    char c;
    for(i=0;i<lim && (c=getchar())!='\n' && c!=EOF;++i)s[i]=c;
    s[i]='\0';
    while(c!='\n'&& c!=EOF)c=getchar();
    return i;
    }



    void main(void){
    char bin[MAXDB+1];
    int i=1;



    do{
    printf("Kerem a %d. binaris szamot\n",i);
    if(!getline(bin,MAXDB!=' ') || !EOF) printf("Ures sor,vagy EOF!\n");
    if (bin[i]==0 || bin[i]==1);
    i++;

    }while(i<MAXDB);


    }

    Na szinte mindent megoldottam,csak azt nem,hogy csak 0 és 1-t kér be,mert még be tudja kérni a többi számot is.
    Azt hogy tudnám kiküszöbölni? Még azt,hogy hogyan tudom lecsökkentni a bináris számok számát,hogy pl csak 4 karaktert lehessen bevinni?(pl.: 0101,1111,0000,0011,0111,0001) :U

  • cellpeti
    nagyúr

    Hali!

    Betennéd ide, hogy azt hogy írtad meg?

    Fire.

    hááát... :U Lehet ultra nagy baromság ám,meg nem is biztos,hogy jó a feltétel,meg sok minden lehet rossz benne :O
    Az a baj,hogy más számot is lehet ütni,nem csak 0-t meg 1-et! meg ha üres sor,akkor is tovább engedi számolni a számokat!Szóval egy nagy szar! :O

    #include <stdio.h>
    #include <string.h>
    #include <math.h>
    #include<conio.h>

    #define MAXDB 17 /* mert nem 0-tól indul a számok számlálása,hanem 1-től,mert szebb */

    int getline(char s[],int lim){
    int i;
    char c;
    for(i=0;i<lim && (c=getchar())!='\n' && c!=EOF;++i)s[i]=c;
    s[i]='\0';
    while(c!='\n'&& c!=EOF)c=getchar();
    return i;
    }



    void main(void){
    char bin[MAXDB+1];
    int i=1;



    do{
    printf("Kerem a %d. binaris szamot\n",i);
    if(!getline(bin,MAXDB!=' ') || !EOF) printf("Ures sor,vagy EOF!\n");
    if (bin[i]==0 || bin[i]==1);
    i++;

    }while(i<MAXDB);


    }

  • Fire/SOUL/CD
    félisten

    Azt megírtam,hogy üres sor vagy EOF akkor kilépjen,most azt akarom,hogy akkor ne kilépjen,hanem újra bekérjen

    Hali!

    Betennéd ide, hogy azt hogy írtad meg?

    Fire.

  • cellpeti
    nagyúr

    Hali!

    Közbe leesett, gondolom úgy értik, hogy a tömb 0. meg 1. eleme közt, aztán 1. és 2. közt, aztán 2. és 3. közt........
    És akkor max 32 bites számokat kérünk be, abba minden belefér :DDD

    Fire.

    Azt megírtam,hogy üres sor vagy EOF akkor kilépjen,most azt akarom,hogy akkor ne kilépjen,hanem újra bekérjen

  • Fire/SOUL/CD
    félisten

    Hali!

    OOPS! Így már érthető, meg nem is :F
    Ha 16 darab számot kérünk be, akkor melyik kettő közt legyen a logikai művelet?(kizáró vagy)

    Fire.

    Hali!

    Közbe leesett, gondolom úgy értik, hogy a tömb 0. meg 1. eleme közt, aztán 1. és 2. közt, aztán 2. és 3. közt........
    És akkor max 32 bites számokat kérünk be, abba minden belefér :DDD

    Fire.

  • Fire/SOUL/CD
    félisten

    őszinte legyek? nem tudom, hogy csináljuk a feladatot?
    sztem meg az első :B

    Hali!

    OOPS! Így már érthető, meg nem is :F
    Ha 16 darab számot kérünk be, akkor melyik kettő közt legyen a logikai művelet?(kizáró vagy)

    Fire.

  • cellpeti
    nagyúr

    Tuti az első lesz,mert az egész feladat így szól:

    kérjen be pontosan 16 bináris számot EOF-ig vagy üres sorig.
    Ha nem megfelelő a bevitt karakterlánc akkor addig kérje újra amíg nem lesz jó.
    Ellenőrzést egy /int bin(char s[]);/ prototipusú függvénnyel végezze.

    +egy /unsigned btou(char[]);/ függvénnyel előjel nélküli egésszé alakítsa a karakterlánc
    visszadaott értéket jelenítse meg 10-es számrendszerben.

    +program kizáró vagy kapcsolatba hozza az egymás után megadott két számot,
    majd megjeleníti az eredményt kettes számrendszerben

    + kijelzi a program, hogy a páros vagy páratlan db 1-es van a karakterláncban(asszem operandusz szót használták :D).

    by Bauer Péter :(((

  • cellpeti
    nagyúr

    Hali!

    Itt az a gond, hogy rosszul van megadva a feladat.

    1. binárisan kell bevinni 16 darab számot?(char 8bit, int 16bit, long int 32bit)
    2. avagy 1 darab 16 bites számot kell bevinni binárisan?
    (én utóbbira tippelnék)

    Fire.

    őszinte legyek? nem tudom, hogy csináljuk a feladatot?
    sztem meg az első :B

  • Fire/SOUL/CD
    félisten

    Hali!

    Nekem egy függvényt kéne írnom,de ezzel nem igazán vagyok tisztába. A fv-t tudom,hogy hogy néz ki,de mégse tudom megírni :(

    1.)kérjen be pontosan 16 bináris számot EOF-ig vagy üres sorig.
    2.)Ha nem megfelelő a bevitt karakterlánc akkor addig kérje újra amíg nem lesz jó.
    3.)Ellenőrzést egy /int bin(char s[]);/ prototipusú függvénnyel végezze.

    Az elsőt azt megoldom getline-val,meg csinálok egy 16 elemű tömböt
    Majd,írnék egy if-et egy do while-ba ágyazva,mert akkor addig ismétli amíg jó nem lesz,tehát itt a while-nak igaz feltételt adnék meg.
    A fv-nél viszont foggalmam sincs :F

    Hali!

    Itt az a gond, hogy rosszul van megadva a feladat.

    1. binárisan kell bevinni 16 darab számot?(char 8bit, int 16bit, long int 32bit)
    2. avagy 1 darab 16 bites számot kell bevinni binárisan?
    (én utóbbira tippelnék)

    Fire.

  • cellpeti
    nagyúr

    Hali!

    Nekem egy függvényt kéne írnom,de ezzel nem igazán vagyok tisztába. A fv-t tudom,hogy hogy néz ki,de mégse tudom megírni :(

    1.)kérjen be pontosan 16 bináris számot EOF-ig vagy üres sorig.
    2.)Ha nem megfelelő a bevitt karakterlánc akkor addig kérje újra amíg nem lesz jó.
    3.)Ellenőrzést egy /int bin(char s[]);/ prototipusú függvénnyel végezze.

    Az elsőt azt megoldom getline-val,meg csinálok egy 16 elemű tömböt
    Majd,írnék egy if-et egy do while-ba ágyazva,mert akkor addig ismétli amíg jó nem lesz,tehát itt a while-nak igaz feltételt adnék meg.
    A fv-nél viszont foggalmam sincs :F

  • Fire/SOUL/CD
    félisten

    Kicsi OFF!

    Ez sajnos nem a tanárokon múlik. Úgymond tapasztalat(édesanyám is tanár),éjfélig tanul ő is a következő napra,még akkor is,ha tudja az anyagot! Szar az egész oktatatás!

    Hali!

    Maximálisan egyetértek Veled, hogy nem a tanárok hibája, hanem az oktatási rendszerünké.

    "A tanároktól(tisztelet a kivételnek) nem kapnak türelmet az emberkék..."
    Elnézést ha ezzel a mondattal félreérthető voltam, itt arra céloztam, hogy jómagam is(sajnos) ismerek olyan "tanárokat", akik egyszerűen pályát tévesztettek, alkalmatlanok a tanítói szakmára. Az "igazi" tanárokat(ezek szerint mint anyukád is) maximálisan tisztelem, mert lelkiismeretesen végzik a munkájukat, holott nekik is lehet mindenféle gondjuk-bajuk (anyagi, magánéleti, egészségügyi stb), de ennek ellenére erőn felül teljesítve, a diákok érdekeit szem előtt tartva, tisztességesen és elkötelezetten végzik a munkájukat.

    Fire.

  • cellpeti
    nagyúr

    Hali!

    Hát igen, ezt már sokan mondták, hogy igen nagy türelemmel rendelkezem :DDD .
    Nem vagyok tanár(bár, akiknek segíteni szoktam, gyakran említik, hogy "miért nem jössz el a sulinkba tanítani számteket, mert ahogy Te elmondod, úgy értem...")
    Még a 90-es években rendszerprogramozóként végeztem, Assembly-vel kezdtem.
    Innen a kitartás meg türelem. Az, hogy másokkal is türelmes vagyok, annak meg az(is) az oka, hogy tudom, hogy kis hazánkban, hogy okítják a tanulókat számítástechnikára(meg másra is). A tanároktól(tisztelet a kivételnek) nem kapnak türelmet az emberkék, könyvből felírt példaprogik, gyors tanmenet, érti-nem érti lényegtelen. Nagyon sok jó képességű diák utálja meg a programozást és magát a számítástechnikát is egy életre, pont a "türelmetlenség" meg a minél gyorsabban leadandó tananyagok miatt. Sajnos ilyen az oktatási rendszerünk, a tanárokat is hajtják, túl vannak terhelve, a diákokat is hajtják, azok is túl vannak terhelve, persze hogy mindenki türelmetlen. :DDD

    Szóval legalább itt PH-n kapjanak az érdeklődők türelmet, meg normális hozzászólást, és ne ugyanazt vágja az ember a fejükhöz, amit esetleg a suliban is hallanak nap mint nap. :N

    Fire.

    Kicsi OFF!

    Ez sajnos nem a tanárokon múlik. Úgymond tapasztalat(édesanyám is tanár),éjfélig tanul ő is a következő napra,még akkor is,ha tudja az anyagot! Szar az egész oktatatás!

  • Fire/SOUL/CD
    félisten

    Fire: irigylem a turelmedet, civilben nem tanar vagy veletlenul? :D

    Hali!

    Hát igen, ezt már sokan mondták, hogy igen nagy türelemmel rendelkezem :DDD .
    Nem vagyok tanár(bár, akiknek segíteni szoktam, gyakran említik, hogy "miért nem jössz el a sulinkba tanítani számteket, mert ahogy Te elmondod, úgy értem...")
    Még a 90-es években rendszerprogramozóként végeztem, Assembly-vel kezdtem.
    Innen a kitartás meg türelem. Az, hogy másokkal is türelmes vagyok, annak meg az(is) az oka, hogy tudom, hogy kis hazánkban, hogy okítják a tanulókat számítástechnikára(meg másra is). A tanároktól(tisztelet a kivételnek) nem kapnak türelmet az emberkék, könyvből felírt példaprogik, gyors tanmenet, érti-nem érti lényegtelen. Nagyon sok jó képességű diák utálja meg a programozást és magát a számítástechnikát is egy életre, pont a "türelmetlenség" meg a minél gyorsabban leadandó tananyagok miatt. Sajnos ilyen az oktatási rendszerünk, a tanárokat is hajtják, túl vannak terhelve, a diákokat is hajtják, azok is túl vannak terhelve, persze hogy mindenki türelmetlen. :DDD

    Szóval legalább itt PH-n kapjanak az érdeklődők türelmet, meg normális hozzászólást, és ne ugyanazt vágja az ember a fejükhöz, amit esetleg a suliban is hallanak nap mint nap. :N

    Fire.

  • kiskatus
    csendes tag

    Köszi Fire/SOUL/CD profi a program amit karakter számolásra írtál!
    Bár Én tudnék olyan profin programozni mint Te! :R

    kiskatus: Szerintem mentsd le a progit 1 mappába: egy c fájlt + a project fájlt, utána ahova lementetted ott hoz létre egy Debug_Build mappát és abba hozd létre a first ill. second text fájlt és evvel megoldódik a probléma ... szerintem :DDD

    Hali!
    Debug_Build mappába raktam a két txt-t és működik. Nagyon köszönöm! :C

  • kiskatus
    csendes tag

    Hali!

    Hát sajna, nem tudom x64 Vista alá "felerőszakolni" a Turbo C++ 4-et, úgy hogy vakon adok tanácsot.
    hozz létre egy könyvtárat c:\kiskatus
    indítsd el a Turbo c++-t
    töltsd be a projectet vagy fájlt
    aztán (gondolom) file menü save as vagy save project as vagy valami menüpont segítségével ments ki a c:\kiskatus könyvtárba
    csukd be ezt a projectet vagy fájlt
    file menü open project vagy hasonlóval nyisd meg a c:\kiskatus -ból
    és most próbáld meg a c:\kiskatus könyvtárba létrehozni a first.txt ill second.txt fájlokat

    Lássuk mi törpénik.... :U

    Fire.

    Hali!
    Így sem működik!

  • cellpeti
    nagyúr

    A C Free annyiba jobb(kezdő progosnak,mint én),hogy a fejlesztőkörnyezet által foglalt szavakat pirossal, a változókat kékkel, a header és define-t pedig zöld jelzi ki,így a zöldfülü progos is eligazodik rajta!

  • Fire/SOUL/CD
    félisten

    Maga a C az C:\Program files\Borland\4.0\bin mappa itt van az exe fájlja. ide raktam be.

    Hali!

    Hát sajna, nem tudom x64 Vista alá "felerőszakolni" a Turbo C++ 4-et, úgy hogy vakon adok tanácsot.
    hozz létre egy könyvtárat c:\kiskatus
    indítsd el a Turbo c++-t
    töltsd be a projectet vagy fájlt
    aztán (gondolom) file menü save as vagy save project as vagy valami menüpont segítségével ments ki a c:\kiskatus könyvtárba
    csukd be ezt a projectet vagy fájlt
    file menü open project vagy hasonlóval nyisd meg a c:\kiskatus -ból
    és most próbáld meg a c:\kiskatus könyvtárba létrehozni a first.txt ill second.txt fájlokat

    Lássuk mi törpénik.... :U

    Fire.

  • Fire/SOUL/CD
    félisten

    Köszi Fire/SOUL/CD profi a program amit karakter számolásra írtál!
    Bár Én tudnék olyan profin programozni mint Te! :R

    kiskatus: Szerintem mentsd le a progit 1 mappába: egy c fájlt + a project fájlt, utána ahova lementetted ott hoz létre egy Debug_Build mappát és abba hozd létre a first ill. second text fájlt és evvel megoldódik a probléma ... szerintem :DDD

    Hali!

    Szívesen!

    Egyetértek veled(amit kiskatusnak írtál, hogy egy könyvtárt létre kellene hozni, és abba pakolni mindent...

    Fire.

  • Fire/SOUL/CD
    félisten

    Nem akarok belekontárkodni a dologba,de ugyan arra való a C-Free
    Annyival jobb,hogy megy benne a kivágás,másolás beillesztés! Több C fájlt meg lehet nyitni benne,automatikusan beljebb kezdi a ciklusokat,meg ilyenek...

    Hali!

    Én magam is, amikor segítek, akkor CodeBlocks-ban írok, teljsen free, nagyon jó fejlesztőkörnyezet. Azonban kiskatus meg Borland Turbo C++ 4.0-ba.
    Na ezt nem tudom felrakni x64 vista alá sajnos. Viszont így látatlanba, meg nem tudom, hogy hogy vannak beállítva a könyvtárak benne. valószínű, hogy az exe nem oda generálódik, ahol a forrásfájlok vannak.

    Fire.

  • babyanigirl
    csendes tag

    Hali!

    Egy kis türelmet, mert így nem jutunk előrébb. Letöltöm a Borland Turbo C-t, telepítem, aztán akkor látom hogy mit is kell csinálni, hogy menjen a progi.

    Fire.

    Köszi Fire/SOUL/CD profi a program amit karakter számolásra írtál!
    Bár Én tudnék olyan profin programozni mint Te! :R

    kiskatus: Szerintem mentsd le a progit 1 mappába: egy c fájlt + a project fájlt, utána ahova lementetted ott hoz létre egy Debug_Build mappát és abba hozd létre a first ill. second text fájlt és evvel megoldódik a probléma ... szerintem :DDD

  • cellpeti
    nagyúr

    Hali!

    Egy kis türelmet, mert így nem jutunk előrébb. Letöltöm a Borland Turbo C-t, telepítem, aztán akkor látom hogy mit is kell csinálni, hogy menjen a progi.

    Fire.

    Nem akarok belekontárkodni a dologba,de ugyan arra való a C-Free
    Annyival jobb,hogy megy benne a kivágás,másolás beillesztés! Több C fájlt meg lehet nyitni benne,automatikusan beljebb kezdi a ciklusokat,meg ilyenek...

  • Fire/SOUL/CD
    félisten

    Maga a C az C:\Program files\Borland\4.0\bin mappa itt van az exe fájlja. ide raktam be.

    Hali!

    Egy kis türelmet, mert így nem jutunk előrébb. Letöltöm a Borland Turbo C-t, telepítem, aztán akkor látom hogy mit is kell csinálni, hogy menjen a progi.

    Fire.

  • kiskatus
    csendes tag

    Hali!

    Na, akkor elöször kiderítjük, hogy hol jön létre az exe fájl.
    Hova mented a forrásfájl-t? Milyen könyvtárba?
    Na ebbe a könyvtárba kell létrehozni a first.txt meg a second.txt fájlokat

    Fire.

    Maga a C az C:\Program files\Borland\4.0\bin mappa itt van az exe fájlja. ide raktam be.

  • Fire/SOUL/CD
    félisten

    beraktam a borland mappájába a bin-be is egy txt fájlt aminek "first" nevet adtam de így sem.
    Bocsi, hogy ilyen érthetetlen vagyok.

    Hali!

    Na, akkor elöször kiderítjük, hogy hol jön létre az exe fájl.
    Hova mented a forrásfájl-t? Milyen könyvtárba?
    Na ebbe a könyvtárba kell létrehozni a first.txt meg a second.txt fájlokat

    Fire.

  • kiskatus
    csendes tag

    Hali!

    Na akkor már sínen vagyunk! :DDD
    Létre kell hoznod egy first.txt nevű fájlt, abban a könyvtárban ahol a forrásfájl(C) van vagy oda ahova az exe generálódik.(esetenként ez ugyanaz a könyvtár)
    Ha ez megvan és megint elindítod, akkor keresni fogja a second.txt fájlt, azt is hozd létre.
    Ez a két fájl amit a progi összehasonlít. Írjál beléjük valamit, mondjuk az egyikbe egy 'a' a másikba egy 'b' betűt. Ha most futtatod, akkor kiírja a végén, hogy egy eltérés van, létrehoz egy error.txt nevű fájlt, amibe ha belekukkantasz akkor bent lesz, hogy hol van eltérés és mi

    Fire.

    beraktam a borland mappájába a bin-be is egy txt fájlt aminek "first" nevet adtam de így sem.
    Bocsi, hogy ilyen érthetetlen vagyok.

  • Fire/SOUL/CD
    félisten

    Beírogattam ahog kérted. El is indul: Kiírja a program, hogy Binaris osszehasonlitas
    Nem lehet megnyitni a 'First.txt' fájlt.

    Hali!

    Na akkor már sínen vagyunk! :DDD
    Létre kell hoznod egy first.txt nevű fájlt, abban a könyvtárban ahol a forrásfájl(C) van vagy oda ahova az exe generálódik.(esetenként ez ugyanaz a könyvtár)
    Ha ez megvan és megint elindítod, akkor keresni fogja a second.txt fájlt, azt is hozd létre.
    Ez a két fájl amit a progi összehasonlít. Írjál beléjük valamit, mondjuk az egyikbe egy 'a' a másikba egy 'b' betűt. Ha most futtatod, akkor kiírja a végén, hogy egy eltérés van, létrehoz egy error.txt nevű fájlt, amibe ha belekukkantasz akkor bent lesz, hogy hol van eltérés és mi

    Fire.

  • kiskatus
    csendes tag

    Beírogattam ahog kérted. El is indul: Kiírja a program, hogy Binaris osszehasonlitas
    Nem lehet megnyitni a 'First.txt' fájlt.

  • kiskatus
    csendes tag

    Hali!

    Miben is írsz?

    Fire.

    UI: remélem a "bemásolás" alatt azt érted, hogy kijelölöd a kódót a HSZ-ben, jobb egér/másol
    aztán a fejlesztőkörnyezetben meg egy üres xxxxxx.C fájlba beilleszted(jobb egér/beillesztés? :U

    Így sem akar menni. :(

  • Fire/SOUL/CD
    félisten

    Bemásoltam a fejlesztő környezetbe és futtatáskor csak felvillan és nem csinál semmit mi lehet a baj?

    Hali!

    Minden olyan sor elé, ahol az exit(-1) van, tegyél be egy getchar() -t.
    Bocsi, az én hibám, csak mindig elfeledkezem, hogy a CodeBlocks nem csukja be az ablakot automatikusan, más fejlesztőkörnyezet meg esetleg igen.... :W

    Fire.

  • Fire/SOUL/CD
    félisten

    Bemásoltam a fejlesztő környezetbe és futtatáskor csak felvillan és nem csinál semmit mi lehet a baj?

    Hali!

    Miben is írsz?

    Fire.

    UI: remélem a "bemásolás" alatt azt érted, hogy kijelölöd a kódót a HSZ-ben, jobb egér/másol
    aztán a fejlesztőkörnyezetben meg egy üres xxxxxx.C fájlba beilleszted(jobb egér/beillesztés? :U

  • kiskatus
    csendes tag

    Hali!

    Na, elkészültem, az elején azonban pár szó...
    Ezt úgy írtam ahogy kérted, tehát karakterenként olvas, azonban az ilyen jellegű progikat nem így írják. Ez a progi pár ezer byte-os fájlokon gyorsnak tűnhet, de ha pl 2 darab 50 megás fájl-t kellene összehasonlítania, akkor elidőzhet előtte az ember, a karakteres olvasásnak köszönhetően. A gyors FileComparer progikban dinamikusan lefoglalnak memóriából 2 nagyobb "darabot" a un bufferek számára. Ezekbe a bufferekbe olvassák be az adatokat a fájlokból(nem egyesével, hanem amekkora buffer, mondjuk 4mega) és a két buffert hasonlítják össze, ami nagyon gyors hisz a memóriában van.
    Természetesen ezt csak plusz INFO-nak szántam.
    Felkommenteztem, remélem érthető is lesz. Persze ha van kérdésed akkor írj nyugodtan.

    Fire.

    #include <stdio.h>
    #include <stdlib.h>

    int main()
    {
    unsigned long ErrorCounter;
    unsigned char chFirst, chSecond;
    FILE * FirstFileAsBinary;
    FILE * SecondFileAsBinary;
    FILE * ErrorFileAsText;

    printf("Binaris osszehasonlitas\n\n");

    //első fájl megnyitása binárisan
    //minden fájl megnyitásakor kötelező a hibaellenőrzés!
    if (!(FirstFileAsBinary = fopen("first.txt","rb"))) {
    //nem sikerült megnyitni az első fájlt, ezért hibakiírás, kilépés
    fprintf(stderr,"Nem lehet megnyitni a 'first.txt' fajlt...");
    exit(-1);
    }
    //második fájl megnyitása binárisan
    //minden fájl megnyitásakor kötelező a hibaellenőrzés!
    if (!(SecondFileAsBinary = fopen("second.txt","rb"))) {
    fprintf(stderr,"Nem lehet megnyitni a 'second.txt' fajlt...");
    //nem sikerült megnyitni a második fájlt, ezért hibakiírás, kilépés
    //de elötte a korábban sikeresen megnyitott első fájlt le kell zárni
    fclose(FirstFileAsBinary);
    exit(-1);
    }
    //a fseek a fájlban pozicionál, meg kell adni
    //hogy melyik fájlban, egy relatív távolságot, és hogy honnan
    //alábbi esetben a FirstFileAsBinary fájlban, a végétől(SEEK_END), 0 bytera
    //azaz magyarul a fájl végére pozícionálunk, amit azért teszünk, hogy a továbbiakban
    //az ftell függvénnyel(ami az épp aktuális fájlpoziciót adja vissza) meg tudjuk
    //határozni a fájl hosszát
    fseek(FirstFileAsBinary,0,SEEK_END);
    fseek(SecondFileAsBinary,0,SEEK_END);
    //megnézzük, hogy a két fájl mérete azonos-e, mivel ha nem
    //akkor nincs értelme összehasonlítani őket
    if (ftell(FirstFileAsBinary)!=ftell(SecondFileAsBinary)) {
    printf("A két fájl mérete nem azonos...");
    //nem azonos méretű a két fájl, ezért hibakiírás, kilépés
    //de elötte a korábban sikeresen megnyitott első és második fájlt le kell zárni
    fclose(FirstFileAsBinary);
    fclose(SecondFileAsBinary);
    exit(-1);
    }
    //itt azt ellenőrizzük, hogy ne legyen 0 byte hosszú a fájl, hisz akkor megint csak
    //nincs értelme az összehasonlításnak
    //azért csak az egyik fájlt ellenőrzöm, mert az előzőekben már kiderült, hogy
    //a két fájl egyenlő méretű, és ha az első fájl netalántán 0 byte hosszú
    //akkor a második is
    if (!ftell(FirstFileAsBinary)) {
    printf("A fajlok merete nem lehet 0 byte...");
    //0 byte méretű mindkét fájl, ezért hibakiírás, kilépés
    //de elötte a korábban sikeresen megnyitott első és második fájlt le kell zárni
    fclose(FirstFileAsBinary);
    fclose(SecondFileAsBinary);
    exit(-1);
    }
    //most a fájlpoziciót visszaállítom a fájl elejére, azaz 0 byte-ra a fájl elejétől(SEEK_SET)
    //azért kell megtenni, mert korábban a fájl végére pozicionáltam
    fseek(FirstFileAsBinary,0,SEEK_SET);
    fseek(SecondFileAsBinary,0,SEEK_SET);
    //létrehozom azt a fájlt szövegesként, amibe az esetleges eltéréseket letároljuk
    if (!(ErrorFileAsText = fopen("error.txt","wt"))) {
    fprintf(stderr,"Nem lehet megnyitni az 'error.txt' fajlt...");
    //nem sikerült létrehozni a fájlt, ezért hibakiírás, kilépés
    //de elötte a korábban sikeresen megnyitott első és második fájlt le kell zárni
    fclose(FirstFileAsBinary);
    fclose(SecondFileAsBinary);
    exit(-1);
    }
    //hibaszámláló nullázása, a későbbiekben használom
    ErrorCounter=0;
    //az fread függvény (jelen esetben) 1 darab, 1 byte hosszú adatot olvas be
    //jelen esetben a chFirst, chSecond változóba, az első ill második fájlból
    //a visszatérő értéke olvasás esetén mindig annyi, amennyit megadtunk neki
    //jelen esetben 1. Ha nem ennyivel tér vissza, az azt jelenti, hogy a fájl végére értünk
    //vagy valamilyen fájlolvasási hiba lépett fel
    while (fread(&chFirst,1,1,FirstFileAsBinary)==1) {
    fread(&chSecond,1,1,SecondFileAsBinary);
    //összehasonlítjuk a két byte-ot
    if (chFirst!=chSecond) {
    //ha nem egyenlő, akkor kiírjuk az error.txt fájlba, méghozzá a következő módon
    //filepozició,chFirst,chSecond
    //a filepoziciót 0x-el kezdődő 8 számjegyes hexadecimális számként
    //a chFisrt, chSecond pedig 0x-el kezdődő 2 számjegyes hexadecimális számként
    fprintf(ErrorFileAsText,"File-pozicio: %#.8lx %#.2x <> %#.2x\n",ftell(FirstFileAsBinary),chFirst,chSecond);
    //hibaszámláló növelése
    ErrorCounter++;
    }
    }
    //ha a hibaszámláló nem 0, akkor kiírjuk hány eltérés van a két fájl közt
    if (ErrorCounter) printf("%lu elteres talalhato a ket fajl kozt.\nNezze meg az 'error.txt' fajl tartalmat...",ErrorCounter);
    //ha a hibaszámláló 0, akkor nincs különbség a két fájl tartalma közt
    else printf("A ket fajl azonos...");

    //mindhárom korábban sikeresen megnyitott fájl lezárása
    fclose(FirstFileAsBinary);
    fclose(SecondFileAsBinary);
    fclose(ErrorFileAsText);

    //várakozás ENTER-re
    printf("\n\nUsson ENTER-t a kilepeshez...");
    getchar();

    return 0;
    }

    Bemásoltam a fejlesztő környezetbe és futtatáskor csak felvillan és nem csinál semmit mi lehet a baj?

  • kiskatus
    csendes tag

    Hali!

    Na, elkészültem, az elején azonban pár szó...
    Ezt úgy írtam ahogy kérted, tehát karakterenként olvas, azonban az ilyen jellegű progikat nem így írják. Ez a progi pár ezer byte-os fájlokon gyorsnak tűnhet, de ha pl 2 darab 50 megás fájl-t kellene összehasonlítania, akkor elidőzhet előtte az ember, a karakteres olvasásnak köszönhetően. A gyors FileComparer progikban dinamikusan lefoglalnak memóriából 2 nagyobb "darabot" a un bufferek számára. Ezekbe a bufferekbe olvassák be az adatokat a fájlokból(nem egyesével, hanem amekkora buffer, mondjuk 4mega) és a két buffert hasonlítják össze, ami nagyon gyors hisz a memóriában van.
    Természetesen ezt csak plusz INFO-nak szántam.
    Felkommenteztem, remélem érthető is lesz. Persze ha van kérdésed akkor írj nyugodtan.

    Fire.

    #include <stdio.h>
    #include <stdlib.h>

    int main()
    {
    unsigned long ErrorCounter;
    unsigned char chFirst, chSecond;
    FILE * FirstFileAsBinary;
    FILE * SecondFileAsBinary;
    FILE * ErrorFileAsText;

    printf("Binaris osszehasonlitas\n\n");

    //első fájl megnyitása binárisan
    //minden fájl megnyitásakor kötelező a hibaellenőrzés!
    if (!(FirstFileAsBinary = fopen("first.txt","rb"))) {
    //nem sikerült megnyitni az első fájlt, ezért hibakiírás, kilépés
    fprintf(stderr,"Nem lehet megnyitni a 'first.txt' fajlt...");
    exit(-1);
    }
    //második fájl megnyitása binárisan
    //minden fájl megnyitásakor kötelező a hibaellenőrzés!
    if (!(SecondFileAsBinary = fopen("second.txt","rb"))) {
    fprintf(stderr,"Nem lehet megnyitni a 'second.txt' fajlt...");
    //nem sikerült megnyitni a második fájlt, ezért hibakiírás, kilépés
    //de elötte a korábban sikeresen megnyitott első fájlt le kell zárni
    fclose(FirstFileAsBinary);
    exit(-1);
    }
    //a fseek a fájlban pozicionál, meg kell adni
    //hogy melyik fájlban, egy relatív távolságot, és hogy honnan
    //alábbi esetben a FirstFileAsBinary fájlban, a végétől(SEEK_END), 0 bytera
    //azaz magyarul a fájl végére pozícionálunk, amit azért teszünk, hogy a továbbiakban
    //az ftell függvénnyel(ami az épp aktuális fájlpoziciót adja vissza) meg tudjuk
    //határozni a fájl hosszát
    fseek(FirstFileAsBinary,0,SEEK_END);
    fseek(SecondFileAsBinary,0,SEEK_END);
    //megnézzük, hogy a két fájl mérete azonos-e, mivel ha nem
    //akkor nincs értelme összehasonlítani őket
    if (ftell(FirstFileAsBinary)!=ftell(SecondFileAsBinary)) {
    printf("A két fájl mérete nem azonos...");
    //nem azonos méretű a két fájl, ezért hibakiírás, kilépés
    //de elötte a korábban sikeresen megnyitott első és második fájlt le kell zárni
    fclose(FirstFileAsBinary);
    fclose(SecondFileAsBinary);
    exit(-1);
    }
    //itt azt ellenőrizzük, hogy ne legyen 0 byte hosszú a fájl, hisz akkor megint csak
    //nincs értelme az összehasonlításnak
    //azért csak az egyik fájlt ellenőrzöm, mert az előzőekben már kiderült, hogy
    //a két fájl egyenlő méretű, és ha az első fájl netalántán 0 byte hosszú
    //akkor a második is
    if (!ftell(FirstFileAsBinary)) {
    printf("A fajlok merete nem lehet 0 byte...");
    //0 byte méretű mindkét fájl, ezért hibakiírás, kilépés
    //de elötte a korábban sikeresen megnyitott első és második fájlt le kell zárni
    fclose(FirstFileAsBinary);
    fclose(SecondFileAsBinary);
    exit(-1);
    }
    //most a fájlpoziciót visszaállítom a fájl elejére, azaz 0 byte-ra a fájl elejétől(SEEK_SET)
    //azért kell megtenni, mert korábban a fájl végére pozicionáltam
    fseek(FirstFileAsBinary,0,SEEK_SET);
    fseek(SecondFileAsBinary,0,SEEK_SET);
    //létrehozom azt a fájlt szövegesként, amibe az esetleges eltéréseket letároljuk
    if (!(ErrorFileAsText = fopen("error.txt","wt"))) {
    fprintf(stderr,"Nem lehet megnyitni az 'error.txt' fajlt...");
    //nem sikerült létrehozni a fájlt, ezért hibakiírás, kilépés
    //de elötte a korábban sikeresen megnyitott első és második fájlt le kell zárni
    fclose(FirstFileAsBinary);
    fclose(SecondFileAsBinary);
    exit(-1);
    }
    //hibaszámláló nullázása, a későbbiekben használom
    ErrorCounter=0;
    //az fread függvény (jelen esetben) 1 darab, 1 byte hosszú adatot olvas be
    //jelen esetben a chFirst, chSecond változóba, az első ill második fájlból
    //a visszatérő értéke olvasás esetén mindig annyi, amennyit megadtunk neki
    //jelen esetben 1. Ha nem ennyivel tér vissza, az azt jelenti, hogy a fájl végére értünk
    //vagy valamilyen fájlolvasási hiba lépett fel
    while (fread(&chFirst,1,1,FirstFileAsBinary)==1) {
    fread(&chSecond,1,1,SecondFileAsBinary);
    //összehasonlítjuk a két byte-ot
    if (chFirst!=chSecond) {
    //ha nem egyenlő, akkor kiírjuk az error.txt fájlba, méghozzá a következő módon
    //filepozició,chFirst,chSecond
    //a filepoziciót 0x-el kezdődő 8 számjegyes hexadecimális számként
    //a chFisrt, chSecond pedig 0x-el kezdődő 2 számjegyes hexadecimális számként
    fprintf(ErrorFileAsText,"File-pozicio: %#.8lx %#.2x <> %#.2x\n",ftell(FirstFileAsBinary),chFirst,chSecond);
    //hibaszámláló növelése
    ErrorCounter++;
    }
    }
    //ha a hibaszámláló nem 0, akkor kiírjuk hány eltérés van a két fájl közt
    if (ErrorCounter) printf("%lu elteres talalhato a ket fajl kozt.\nNezze meg az 'error.txt' fajl tartalmat...",ErrorCounter);
    //ha a hibaszámláló 0, akkor nincs különbség a két fájl tartalma közt
    else printf("A ket fajl azonos...");

    //mindhárom korábban sikeresen megnyitott fájl lezárása
    fclose(FirstFileAsBinary);
    fclose(SecondFileAsBinary);
    fclose(ErrorFileAsText);

    //várakozás ENTER-re
    printf("\n\nUsson ENTER-t a kilepeshez...");
    getchar();

    return 0;
    }

    Nagyon köszönöm! Gyorsan átfutom.

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