View Single Post
Staro 16.05.2016., 20:31   #31
M.Vlahovic
Premium
Moj komp
 
Datum registracije: Oct 2008
Lokacija: Zagreb
Postovi: 888
Citiraj:
Autor rodney Pregled postova
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<stdio.h>
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<stdio.h>

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

Zadnje izmijenjeno od: M.Vlahovic. 16.05.2016. u 20:43.
M.Vlahovic je offline   Reply With Quote