Stránka 1 z 1

Transformace textu C

Napsal: sob 28. lis 2009, 20:28
od dark_stuff
Zadání: Napište v jazyku C funkci int set(char* in, char** out), která podle textového řetězce in vytvoří řetězec, který naváže na ukazatel out. Vytváření výstupního textu probíhá tak, že malé písmeno je při kopírování nahrazeno odpovídajícím velkým písmenem a naopak. Jiné znaky se zkopírují bez změny. Funkce vrací počet pozměněných znaků.

Odpovídá tohle zadání?

Kód: Vybrat vše

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

char text1[100]="Ahoj svete 23.";
char text2[100];
char *out;

int set(char *in, char *out)
{
	int i;
	i=0;
	while(*in!='\0')
	{
		if(*in>='a' && *in<='z')
		{
			*out=(*in-32);
			out++;
			in++;
			i++;
		}
		else if(*in>='A' && *in<='Z')
		{
			*out=(*in+32);
			out++;
			in++;
			i++;
		}
		else
		{
			*out=*in;
			out++;
			in++;
		}
	}
	return(i);
}

	int main()
	{
		printf("Prekladany text: \"%s\"", text1);
		printf("\n");
		printf("Pocet zmenenych znaku: %d", set(text1, text2));
		printf("\n");
		printf("Prelozeny text: \"%s\"", text2);
		printf("\n\n");
		system("pause");
		return(0);
	}

Re: Transformace textu C

Napsal: ned 29. lis 2009, 11:41
od Trek
Správně to není, protože to nesplňuje
vytvoří řetězec, který naváže na ukazatel out

Nechápu proč musíš konsultovat každej triviální příklad, to s VŠ budeš mít docela problémy.

Re: Transformace textu C

Napsal: ned 29. lis 2009, 12:46
od Maranov
Člověče, ten kód je poměrně špatně napsaný... přečti si nějaké to "C pro zelenáče", ono ti to vše hned dojde a budeš mít méně problémů...

Re: Transformace textu C

Napsal: ned 29. lis 2009, 14:29
od Trek
Takle to právě dopadá, když člověk jen chlastá a nechodí na přednášky.
Jakože prej chlastání prospíva srdci, ale chce si to aspoň něco občas přečíst.