**Pierwsze sprawa: **
moim celem jest napisanie programu zwracającego napis od tyłu.
działający kod wygląda tak:
-deklaruję zmienną pomocniczą
-za pomocą pętli przypisuję do nowej tablicy kolejne odwrotne znaki
-na końcu również za pomocą pętli for odczytuję kolejne znaki z tablicy
for(i=n;i>=0;i--)
{
tmp=napis[i];
nowynapis[n-i]=tmp;
}
for(i=1;i<=n;i++)
printf("%c", nowynapis[i]);
za pierwszym razem chciałem zrobić tak:
dużo szybciej i według mnie ma logiczny sens, nie wiem jednak czemu nie działa
int i;
char napis[]="ala ma kota";
printf("%s\n", napis);
int n = sizeof(napis)/sizeof(napis[0]); //dlugosc tablicy napis
char nowynapis[20];
for(i=0;i<n;i++)
nowynapis[i]=napis[n-i];
printf("%s\n", nowynapis);
Druga sprawa to tablica argumentów funkcji main:
chciałbym odwrócić napis bezpośrednio z tablicy argv. tutaj byłem w stanie jedynie odwrócić kolejnością dane słowa. ale nie mam pojęcia jak zrobić aby odwrócić również znaki w pojedynczym słowie.
za pomocą argv[][] mogę dostać się do danego znaku, ale nie wiem jak je odwracać.
próbowałem również stworzyć dodatkową tablicę int, która miała za zadanie przechowywać długości pojedynczych słów ale funkcja sizeof nie działa na wskaźnikach, a jedynie na tablicach. znałbym wówczas długości danych słów i wykorzystałbym to do odwracania ( wiedziałbym kiedy ma się konczyć pętla), ale to zalatuje ogromnym kombinowaniem.