Siemanko!
Mam problem z programem w języku C, który prosi użytkownika o podanie liczb (maksymalnie stu), a następnie sprawdza czy wśród nich jest para jednakowych liczb. Problem pojawia się w sprawdzaniu warunku. Nie wyświetla poprawnie wyniku. Wpiszę np trzy liczby 1,2,1 i po wpisaniu pierwszej liczby wyświetla się "Dwie liczby sa rowne.", po wpisaniu drugiej "Nie ma rownych liczb. Nie ma rownych liczb.", a po trzeciej "Dwie liczby sa rowne."
Bardzo proszę Was o pomoc.
#include <stdio.h>
int main(){
int n; //ilosc liczb do wczytania podana przez uzytkownika
int i,j; //liczniki
int liczby[100]; //liczby podane przez uzytkownika
//wczytywanie danych
printf("Podaj ile liczb calkowitych chcesz wpisac: ");
while(scanf("%d",&n)!=1||n>100||getchar()!='\n'){
printf("Bledne dane. Wpisz jeszcze raz.");
char znak=getchar();
while(znak!='\n')
znak=getchar();
}
printf("Podaj liczby:\n");
for(i=0;i<n;i++){
while(scanf("%d",&liczby[i])!=1||getchar()!='\n'){
printf("Bledne dane. Wpisz jeszcze raz.");
char znak=getchar();
while(znak!='\n')
znak=getchar();
}
//sprawdzanie czy jest para
for(j=0;j<=n-1-i;j++){
if(liczby[j]==liczby[j+i]){
printf("Dwie liczby sa rowne.\n");
break;
}
else
printf("Nie ma rownych liczb.\n");
}
}
printf("\nKoniec programu.\n");
return 0;
}