PC Ekspert Forum

PC Ekspert Forum (https://forum.pcekspert.com/index.php)
-   Web dizajn, programiranje i ostalo (https://forum.pcekspert.com/forumdisplay.php?f=39)
-   -   /C/prost broj (https://forum.pcekspert.com/showthread.php?t=156882)

M.Vlahovic 16.05.2016. 20:31

Citiraj:

Autor rodney (Post 2926687)
Prvo malo prouči https://en.wikipedia.org/wiki/Indent_style
Da taj kod bude lakši za čitat.
Zatim možeš sve provjere obavit u jednoj petlji:
Code:

for i.....n
    if (uvjet1)
        {...}
    else if (uvjet2)
        {...}
    ....

I možeš inicijalizirat ta polja sa NULL, da ne koristiš 'a' kao poseban znak, tada bi morao dodijeliti vrijednost samo u ono polje koje treba, a ostala ostaviš na NULL.

Možda je indentacija i bila dobra, ali nije wrappao u [CODE].


Code:

#include
int main(void)
{

        int i;
        char znk[6] = { NULL },
                br[6] = { NULL },
                mala[6] = { NULL },
                velika[6] = { NULL },
                ost[6] = { NULL };

        for (i = 0; i < 6; i++)
        {
                printf("\nUpisi %d.znak  ", i + 1);
                scanf(" %c", &znk[i]);

                if (znk[i] >= 'a' && znk[i] <= 'z')
                        mala[i] = znk[i];
                else if (znk[i] >= 'A' && znk[i] <= 'Z')
                        velika[i] = znk[i];
                else if (znk[i] >= '0' && znk[i] <= '9')
                        br[i] = znk[i];
                else ost[i] = znk[i];
        }

        printf("\nMala slova iz prvog polja:");
        for (i = 0; i < 6; i++)
                if (mala[i] != NULL) 
                        printf("\n%c", mala[i]);

        printf("\nVelika slova iz prvog polja:");
        for (i = 0; i < 6; i++)
                if (velika[i] != NULL)
                        printf("\n%c", velika[i]);
               
        printf("\nZnamenke iz prvog polja:");
        for (i = 0; i < 6; i++)
                if (br[i] != NULL)
                        printf("\n%c", br[i]);

        printf("\nOstali znakovi iz prvog polja:");
        for (i = 0; i < 6; i++)
                if (ost[i] != NULL)
                        printf("\n%c", ost[i]);
       
        return 0;
}

Razvrstavanje mu je u jednoj petlji, ali ispis svakog niza je svaki u svojoj petlji, kako bi drugačije se moglo, osim eventualno pomoću funkcije za ispis?

Code:

#include

void ispis(char *niz)
{
        int i;
        for (i = 0; i < 6; i++)
                if (niz[i] != NULL) 
                        printf("\n%c", niz[i]);
}

int main(void)
{

        int i;
        char znk[6] = { NULL },
                br[6] = { NULL },
                mala[6] = { NULL },
                velika[6] = { NULL },
                ost[6] = { NULL };

        for (i = 0; i < 6; i++)
        {
                printf("\nUpisi %d.znak  ", i + 1);
                scanf(" %c", &znk[i]);

                if (znk[i] >= 'a' && znk[i] <= 'z')
                        mala[i] = znk[i];
                else if (znk[i] >= 'A' && znk[i] <= 'Z')
                        velika[i] = znk[i];
                else if (znk[i] >= '0' && znk[i] <= '9')
                        br[i] = znk[i];
                else ost[i] = znk[i];
        }
       
        printf("\nMala slova iz prvog polja:");
        ispis(mala);
        printf("\nVelika slova iz prvog polja:");
        ispis(velika);
        printf("\nZnamenke iz prvog polja:");
        ispis(br);
        printf("\nOstali znakovi iz prvog polja:");
        ispis(ost);
       
        return 0;
}


rodney 17.05.2016. 21:41

pogubio se :P


Sva vremena su GMT +2. Sada je 12:06.

Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 1999-2024 PC Ekspert - Sva prava pridržana ISSN 1334-2940
Ad Management by RedTyger