Witam, czy mógłby ktoś rzucić okiem na kod i sprawdzić, czy zrobiłem dobrze zadanie?
Zadanie wyglądało następująco:
Zrobić dwie tablice znakowe o długości 50, do pierwszej wpisać 10 znakow, przepisać łancuch znaków z tablicy 1, do tablicy 2 wspak, policzyć z ilu słów składa się łancuch znaków w tablicy 2, porównać tablice funkcją strncmp() i wypisać oba łancuchy na ekranie.
Przyznam się, że kod pisałem trochę z głowy, trochę przy pomocy internetu, dlatego więc pytam, czy wszystko jest okej, żeby nie było tak, że na pierwszy rzut oka program działa, a w kodzie popisane są bzdury.
#include <stdio.h>
#include <stdlib.h>
#define ROZMIAR 50
int main() {
char array1[ROZMIAR];
char array2[ROZMIAR];
int index, i, arraySize;
printf("Podaj znaki: ");
for(index = 0; index < 10; index++){
scanf(" %c", &array1[index]);
}
printf("Odczytane wyniki to: ");
for(index = 0; index < 10; index++){
printf("%c ", array1[index]);
}
/* punkt pierwszy */
printf("\nOdwrocona tablica: ");
for(i = index - 1; i >= 0; i--){
printf("%c ", array1[i]);
}
/* punkt drugi */
arraySize = sizeof(array2);
printf("\nLancuch w tablicy drugiej sklada sie z %d znakow\n", arraySize);
/* punkt trzeci - zle */
if( strcmp( array1, array2 ) == 0 ){
printf("Badane lancuchy znakow sa rowne.\n");
}
else{
printf("Badane lancuchy znakow nie sa rowne.\n");
}
/* punkt czwaty */
printf("Tablica pierwsza: ");
for(index = 0; index < 10; index++){
printf("%c ", array1[index]);
}
printf("\nTablica druga: ");
for(i = index - 1; i >= 0; i--)
printf("%c ", array1[i]);
/* punkt piaty - ? */
return 0;
}