Witam!
Jestem studentem pierwszego roku informatyki, i walcze z zadaniami z tablicami znakow - pewnie to nic trudnego, ale nie moge niestety poradzic sobie z jednym poleceniem. Oto tresc:
Napisz program w języku ANSI C, który pobierze od użytkownika liczbę naturalną n , a następnie do 100-elementowej tablicy typu char wpisze znaki podane przez użytkownika, a następnie skopiuje do kolejnej statycznej 100-elementowej tablicy tab_rev typu char znaki zapisane w odwrotnej kolejności.
Następnie tablicę ze znakami w odwrotnej kolejności wypisujemy na ekran.
Zastanów się nad wczytywaną ilością znaków do tablicy typu char!
Nie piszemy kodu wypisującego elementy na ekranie oraz nie usuwamy linii print_tab(tab,n)!!!
W przypadku sytuacji błędnych program wypisuje komunikat: BŁĄD i kończy działanie.
Probowalem roznych opcji- najpierw z uzyciem scanf do wpisywania w tablice, ale scanf uparcie konczy wpisywanie na spacjach, a tu trzeba uwzglednic spacje i inne znaki specjalne. Probowalem z getcharem, ale w tym wypadku, jezeli wpisze mniej znakow niz zadeklarowalem to brak uzupelniany jest dziwnym znakiem. Wklejam najlepsza z opcji jakie udalo mi sie do tej pory wymyslec:
//Tablica ktora pobiera n znakow typu char, a potem je wypisuje w kolejnosci odwrotnej
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n;
char tab[100];
scanf("%d", &n);
for(int i=0; i!=n+1; i++)
{
tab[i]= getchar();
}
printf("%s\n", tab);
char tab_rev[100];
int j=0;
for(int i=n; i>0; i--)
{
tab_rev[j]=tab[i-1];
printf("%s", tab_rev);
}
A to wynik.