matematykaszkolna.pl
działania Jacek: Czy ktoś zna się może na informatyce na poziomie gimnazjum/liceum? Jak napisać w C program, który bierze dwie liczby, sprawdza która jest większa i sumuje wszystkie liczby od większej do mniejszej, np. a=18, b=16, czyli suma=18+17+16 Byłbym niezmiernie wdzięczny za pomoc emotka
15 wrz 15:43
Adamm: czy program ma prosić użytkownika o liczby czy te liczby są zdefiniowane w programie
15 wrz 16:07
Jacek: Ma prosić o podanie liczby a i liczby b, później je ze sobą porównywać i podawać sumę liczb od większej do mniejszej włącznie. Bardzo proszę, bo zupełnie nie ogarniam, a mam jeszcze kilka programów do napisania i chciałbym mieć wzór.
15 wrz 16:09
Jacek: Zrobiłem ale od mniejszej do większej, a ma być od większej do mniejszej sumowanie (choć wynik ten sam) #include<stdio.h> int main() { int a,b,j, suma=0; printf("Podaj pierwsza liczbe "); scanf("%d", &a); printf("Podaj druga liczbe "); scanf("%d", &b); if (a>b) { for(j=b;j<=a;j++) { suma=suma+j; } } else if (a<b) { for(j=a;j<=b;j++) { suma=suma+j; } } printf("Suma liczb to to %d ",suma); system("pause"); return 0; }
15 wrz 16:15
Adamm: no więc, potrzebujesz biblioteki <stdio.h>, w programie funkcją scanf() wczytujesz liczby a, b (załóżmy) tworzysz zmienną c=a+b, if(){}else{} układasz to w odpowiedniej kolejności czyli a+b=c, oczywiście printf() wypisujesz to do wyjścia
15 wrz 16:15
Adamm: czemu sumujesz jedna po jednej
15 wrz 16:16
Adamm: ok nieważne
15 wrz 16:17
Adamm: zamień miejscami a i b w for() a zamiast j++ wpisz j−−
15 wrz 16:18
Jacek: Tak mieliśmy w przykładzie na lekcji, wiem, że dłużej schodzi, ale na razie uczymy się prostszą metodą. Tylko nie wiem jak to zamienić, żeby dodawał od większej, bo mi wychodzą bzdury.
15 wrz 16:18
Jacek: Dokładnie tak zrobiłem i wychodzą błędne wyniki.
15 wrz 16:19
Adamm: jeszcze zmień nierówność
15 wrz 16:19
Adamm: w for(), nie w if()
15 wrz 16:20
Jacek: Teraz działa! #include<stdio.h> int main() { int a,b,j, suma=0; printf("Podaj pierwsza liczbe "); scanf("%d", &a); printf("Podaj druga liczbe "); scanf("%d", &b); if (a>b) { for(j=a;j>=b;j−−) { suma=suma+j; } } else if (a<b) { for(j=b;j>=a;j−−) { suma=suma+j; } } printf("Suma liczb to to %d ",suma); system("pause"); return 0; } Dziękuję za pomoc emotka
15 wrz 16:21
Adamm: emotka
15 wrz 16:21