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