[C] Sprawdzanie ciągu, czy jest to ciąg arytmetyczny.
Ostatnio zmodyfikowano 2017-04-15 13:41
Ridos Temat założony przez niniejszego użytkownika |
[C] Sprawdzanie ciągu, czy jest to ciąg arytmetyczny. » 2017-04-15 01:11:38 Witam. Jestem studentem pierwszego roku informatyki i męczę się z tyn programem drugi dzień Pierwszy raz mam tak, że wywala mi program, gdzie kompilator nie widzi żadnego błędu. Proszę o sprawdzenie kodu i podpowiedz dlaczego go wywala :/ Polecenie brzmi tak: Utworzyć program, który wczytuje liczbę naturalną n (n>1), następnie ciąg liczb rzeczywistych i sprawdza, czy gdzieś w tym ciągu wystąpiły obok siebie trzy liczby tworzące ciąg arytmetyczny. #include <stdio.h> int main() { int n, u, i, jest; float r, r1, r2, sum, sum1; jest = 0; puts( "Podaj liczbe naturalna wieksza od 1" ); scanf( "%u", & n ); while( n <= 1 ) { puts( "Podana zla liczbe,podaj wieksza od 1: " ); scanf( "%u", & n ); } puts( "Podaj pierwsza liczbe" ); scanf( "%f", & r ); for( i = 2; i <= n; i++ ) { printf( "Podaj %u liczbe: ", i ); scanf( "%f", r1 ); if( i = 2 ) { sum = r1 - r; r2 = r1; } if( i > 3 ) sum1 = r1 -( r + r2 ); if( sum = sum1 ) jest = 1; } if( jest = 1 ) puts( "Ciag jest ciagiem arytmetycznym" ); else puts( "Ciag nie jest ciagiem arytmetycznym" ); return 0; }
|
|
maly7 |
» 2017-04-15 02:43:58 Po pierwsze w warunkach używasz operatora przypisania (=) zamiast porównania (==). Program prawdopodobnie wywala Ci dlatego, że nie podajesz wskaźnika na r1, powinno być: scanf( "%f", & r1 ) I musisz trochę pozmieniać, ponieważ ten program nie wykryje poprawnie ciągu arytmetycznego. |
|
Ridos Temat założony przez niniejszego użytkownika |
Dziękuje. » 2017-04-15 13:41:30 O to własnie chodziło, dziękuje za pomoc, program pozmieniam ;) |
|
« 1 » |