Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pomoc oko c zadataka stringovi

[es] :: C/C++ programiranje :: C/C++ za početnike :: Pomoc oko c zadataka stringovi

[ Pregleda: 2831 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

EmulatE
Petar Djokovic

Član broj: 253366
Poruke: 36
*.dynamic.isp.telekom.rs.



+1 Profil

icon Pomoc oko c zadataka stringovi10.03.2013. u 18:19 - pre 89 meseci
Treba mi pomoc da mi neko malo bolje pojasni delove koda za cega koji tacno sluzi u ova 2 primera, znam sta se na kraju dobija ali delovi koda su mi malo problem :)

program koji broji koliko ima palindroma odnosno koliko smo uneli
Code:
#include<stdio.h>
#include<conio.h>
#include<string.h>
main()
{
char rec[100],r[100];
int i,j,x=0,broj=0;
while(1)
{
printf("\nunesi rec\n");
gets(rec);
if(strlen(rec)==0)break;
for(i=0,j=strlen(rec)-1;i<j;i++,j--)
   if(rec[i]!=rec[j]) x=1;
if(x==0) broj++;
x=0;
}
printf(" br = %d ",broj);
getch();
}




ovaj sortira imena po abecedi
Code:
#include<stdio.h>
#include<conio.h>
#include<string.h>
main()
{
char ime[100][100],pom[100]; int i,j,n=100;
for(i=1;i<=n;i++)
{
gets(ime[i]);
if(strlen(ime[i])==0)break;
}
n=i;
 for(i=1;i<n;i++)
   for(j=i+1;j<=n;j++)
     if(strcmp(ime[i],ime[j])>0)
       {
         strcpy(pom,ime[j]);
         strcpy(ime[j],ime[i]);
         strcpy(ime[i],pom);
         }
for(i=1;i<=n;i++)
puts(ime[i]);

  getch();
 }


 
Odgovor na temu

belikralj
Novi Zeland

Član broj: 127274
Poruke: 4
*.jetstream.xtra.co.nz.

Sajt: www.lazar.co.nz


+2 Profil

icon Re: Pomoc oko c zadataka stringovi03.07.2013. u 11:03 - pre 85 meseci
Ovaj kod je malo tesko citati pa cu ga malo prepisati i uneti par komentara da ti objasni sta radi. Posto izgleda da ES ne boji C kod bolje ga unesi u Visual Studio ili neki editor pa pogledaj komentare.

Iskomentarisacu tvoj kod za sortiranje u narednom odgovoru.

Code:

#include<stdio.h>
#include<conio.h>
#include<string.h>
main()
{
    /* Deklaracije svih promenljivih kao sto zahteva C89 */
    char rec[100], r[100];
    int i, j, x=0, broj=0;

    /* Beskonacna petlja */
    while(1)
    {
        /* Isprintaj tekst korisniku */
        printf("\nunesi rec\n");

        /* Cekaj da korisnik unese tekst. Kada korisnik stisne Enter taster unesi taj tekst u bafer rec[100] */
        gets(rec);

        /* Izbroj koliko je slova uneseno sa strlen() */
        if(strlen(rec) == 0)
        {
            /* Iskoci iz beskonacne petlje, i time zavrsi program */
            break;
        }

        /* Posto C indeksi pocinju od nule, namesti i da bude indeks nula a j da bude indeks broja slova - 1.
         * Ovim i je indeks prvog slova a j indeks poslednjeg na pocetku i svaki put kada se petlja ponovi
         * i se pomeri u desno a j u levo za jedno slovo.
         */  
        for(i = 0, j = strlen(rec) - 1; i < j; i++, j--)
        {
            /* Proveri ako su slova razlicita */
            if(rec[i] != rec[j])
            {
               /* Ako su slova razlicita, ovo nije palindrom, i upisujemo 1 u x */
                x=1;
            }
        }

        /* Proveri da li smo nasli razlicita slova. Ako jesmo x ce biti 1, ako nismo x ce biti 0 */
        if(x==0)
        {
            /* Nismo nasli razlicita slova, znaci ovo jeste palindrom, tako da povecaj broj palindroma za jedan */
            broj++;
        }

        /* Namesti x da bude nula opet za naredni test, inace necemo moci da testiramo sledeci palindrom pravilno */
        x=0;
    }

    /* Isprintaj broj panindroma */
    printf(" br = %d ",broj);

    /* Cekaj da korisnik unese slovo. Ovo se radi jer cim se program zavrsi Visual Studio zatvori komandnii prozor pa cemo da ga nateramo da nas saceka. */
    getch();
}

Najveće svetske katastrofe: Hirošima 45te, Černobil 86te, Vindouz 98me...
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 2861



+1162 Profil

icon Re: Pomoc oko c zadataka stringovi03.07.2013. u 11:40 - pre 85 meseci
ES zna da sintaksno boji sors kod ako se iza reči code stave dve tačke i oznaka jezika: c za C ili cpp za C++ (a podržana je i gomila drugih jezika)
Dakle [ code:c ]

Code (c):

#include<stdio.h>
#include<conio.h>
#include<string.h>
main()
{
    /* Deklaracije svih promenljivih kao sto zahteva C89 */
    char rec[100], r[100];
    int i, j, x=0, broj=0;

    /* Beskonacna petlja */
    while(1)
    {
        /* Isprintaj tekst korisniku */
        printf("\nunesi rec\n");

        /* Cekaj da korisnik unese tekst. Kada korisnik stisne Enter taster unesi taj tekst u bafer rec[100] */
        gets(rec);

        /* Izbroj koliko je slova uneseno sa strlen() */
        if(strlen(rec) == 0)
        {
            /* Iskoci iz beskonacne petlje, i time zavrsi program */
            break;
        }

        /* Posto C indeksi pocinju od nule, namesti i da bude indeks nula a j da bude indeks broja slova - 1.
         * Ovim i je indeks prvog slova a j indeks poslednjeg na pocetku i svaki put kada se petlja ponovi
         * i se pomeri u desno a j u levo za jedno slovo.
         */
 
        for(i = 0, j = strlen(rec) - 1; i < j; i++, j--)
        {
            /* Proveri ako su slova razlicita */
            if(rec[i] != rec[j])
            {
               /* Ako su slova razlicita, ovo nije palindrom, i upisujemo 1 u x */
                x=1;
            }
        }

        /* Proveri da li smo nasli razlicita slova. Ako jesmo x ce biti 1, ako nismo x ce biti 0 */
        if(x==0)
        {
            /* Nismo nasli razlicita slova, znaci ovo jeste palindrom, tako da povecaj broj palindroma za jedan */
            broj++;
        }

        /* Namesti x da bude nula opet za naredni test, inace necemo moci da testiramo sledeci palindrom pravilno */
        x=0;
    }

    /* Isprintaj broj panindroma */
    printf(" br = %d ",broj);

    /* Cekaj da korisnik unese slovo. Ovo se radi jer cim se program zavrsi Visual Studio zatvori komandnii prozor pa cemo da ga nateramo da nas saceka. */
    getch();
}
 
 
Odgovor na temu

Rusi
Novi Sad

Član broj: 64282
Poruke: 280



+5 Profil

icon Re: Pomoc oko c zadataka stringovi11.07.2013. u 16:10 - pre 85 meseci
@ belikralj

Svaka cast na trudu. Lepo si objasnio i znas kako sto jasnije da objasnis zadatak .
Mislim da cu, kao pocetnik, svake svoje zadatke malo duzim putem raditi i objasnjavati za vecinu koraka kao sto je belikralj objasnio. Ovo mislim da je 100% sigurna metoda da se dobro utvrdi desavanja u zadatku jer ako ne znas do kraja da objasnis sebi liniju po liniju onda i ne razumes najbolje zadatak.
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Pomoc oko c zadataka stringovi

[ Pregleda: 2831 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.