Odwracanie liter dowolnego napisu

Odwracanie liter dowolnego napisu
DI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 38
0

Na razie mam:

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

int main()
{
char s [100] = " Ala ma kota";
x[100];
y[100];
strcpy(x,s); // podstawia w miejsce tablicy x tablicę s
lambda "" // napis pusty
strcpy(y,lambda); //
if (strcmp(x,lambda)==0)
strcat (A,B) //łączenie napisów
return 0;
}

chciałabym, żeby chociaż napis Ala ma kota odwracał, a potem dowolny podany przez użytkownika.

kaczus
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Łódź
  • Postów: 1405
0

To napisz program który to robi, miast programu który nawet się nie skompiluje...

Varjo
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 9
0
Kopiuj
#include <stdio.h>
#include <string.h>
#define length 100


int main()
{
	char input[length];
	char reverse[length];
	printf("Podaj ciag znakow:\n>");
	fgets(input, sizeof(input),stdin);
	int count_input = strlen(input)-1;
	int count_reverse = 0;
	while (count_input >= 0)
	{
		reverse[count_reverse] = input[count_input];
		--count_input;
		++count_reverse;
	}
	reverse[count_reverse] = '\0';
	printf("Odwrocony ciag: %s\n",reverse);
	getchar();
	return 0;
} 
MarekR22
  • Rejestracja: dni
  • Ostatnio: dni
1

Zawsze definiuj małe funkcje, które mają robić małe zadania, nawet jeśli będzie użyta tylko raz. Łatwiej się czyta, naprawia i testuje.

Kopiuj
void strRevCopy(const char *src, char *dst) {
     assert(src && dst && src!=dst);
     dst += strlen(src);
     *dst = 0;
     while (*src)
          *--dst = *src++;
}
kaczus
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Łódź
  • Postów: 1405
0

jeśli nie potrzebujemy tego napisu dalej, to można używając dodatkowo jednej zmiennej odwrócić napis w tej tablicy.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.