Transformace textu C
Napsal: sob 28. lis 2009, 20:28
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í?
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);
}