2010-05-03 21:44:17
[C++] Kolejne zadanka z liceum
Kolejne zadania z C++. Może komuś się przydadzą :)
Lista 3 - Instrukcje pętli for, while, do...while.
Zadanie 2.
Napisz program, który będzie wykonywał sumowanie liczb naturalnych 1+2+3+4+.. dopóki suma nie przekroczy podanej na początku przez użytkownika liczby naturalnej. Na końcu program musi podać ile należało dodać liczb, aby suma ich była mniejsza (lub równa) od podanej liczby. Umieść w kodzie ważniejsze komentarze dotyczące przebiegu działania programu. W celu stworzenia tego programu posłuż się funkcją while.
#include <cstdlib>
#include <iostream>
#include <conio.h>
using namespace std;
int main(void)
{
int x, i = 1, sum = 0;
cout << "Podaj liczbe do ktorej ma trwac sumowanie: ";
cin >> x;
while (1 == 1) //zapętlamy while'a
{
sum += i; //sumujemy kolejne liczby naturalne
if(sum > x) //jeśli suma jest większa niż nasz limit,
{ //odejmujemy jedną liczbę, zmniejszamy indeks i kończymy pętle
sum -= i;
i--;
break;
}
else if(sum == x) //jeśli suma jest równa limitowi kończymy pętle
break;
i++; // powiększamy indeks
}
cout << "Suma liczb to: " << sum << endl;
cout << "Zostalo dodanych: " << i+1 << " liczb" << endl;
getch();
}
Zadanie 4.
Wykorzystując znane ci instrukcje iteracji, napisz program wypisujący wszystkie liczby podzielne przez 4 w zakresie od 0 do podanej liczby naturalnej n. Jeżeli nie ma liczb podzielnych przez 4 w podanym zakresie, to ma wyświetlić odpowiedni komunikat. Zadbaj również o to, aby po wykonaniu program, za zgodą użytkownika, mógł powtórzyć działanie bez ponownego uruchamiania programu. Do kodu programu dołącz komentarze.
#include <cstdlib>
#include <iostream>
#include <conio.h>
using namespace std;
int main(void)
{
int n, i, x;
bool q = 1;
while(q == 1) //jeśli wartość boole'a jest prawdziwa to powtarzaj program
{
cout << "Podaj liczbe n: ";
cin >> n;
x = 0; //indeks spisujący ilość wystąpień liczb podzielnych przez 4
for(i = 0; i <= n; i++) //for przechodzący przez liczby z wyznaczonego zakresu
{
if(i%4 == 0 && i != 0) //jeśli reszta z dzielenia przez 4 wynosi zero i jeśli liczba nie jest zerem
{
cout << i << endl;
x++; //zwiększanie indeksu
}
}
if(x == 0) //jeśli nie było wystąpień
cout << "W podanym przedziale nie bylo liczb podzielnych przez 4" << endl;
cout << "Czy chcesz powtorzyc program? (1/0) "; //1 prawda, 0 fałsz
cin >> q;
}
getch();
}
Liczba wyswietlen: 626
Tagi: cpp, porady, liceum
O mnie
Patryk Kleszyński, lat 20.
Uczeń drugiego roku informatyki w Wyższej Szkole Informatyki i Zarządzania "Copernicus" we Wrocławiu. Od 5 lat freelancer, zajmujący się projektowaniem stron internetowych w językach HTML, CSS, PHP, MySQL, JavaScript; programowaniem aplikacji internetowych, pozycjonowaniem stron internetowych, grafiką komputerową, począwszy od retuszu zdjęć, a skończywszy na poligrafii i logotypach.
Zaprasza do swojego świata ;)

