Да се напише програма, която позволява да се въведат две числа A и B и после отпечатва:
- всички числа от A до B
- числата от A до B, които са кратни на X
Да се напише програма, която позволява да се въведат две числа A и B и после отпечатва:
[c] за С++ програми [/c]
[pascal] за паскал [/pascal]

за Къде се намира точка
за Вмъкване и изтриване на елемент *
за Позицията на X




за Броят на максималните елементи




за Броят на максималните елементи
за Пари за закуска




за Ученици с дадена оценка




за По-големи от средното| П | В | С | Ч | П | С | Н |
|---|---|---|---|---|---|---|
| « февр. | ||||||
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 | ||||||
Първа задача:
#include <cstdlib> #include <iostream> #include <math.h> using namespace std; int main(int argc, char *argv[]) { int a,b; cout<<"Vavedi dve chisla: "; cin>>a>>b; if ((a==b)||(abs(a-b)==1)){ //Ако числата са равни, или разликата им е равна на 1, cout<<"Nyama chisla ot tozi diapazon.\n"; //то тогава няма да има числа от диапазона им system("pause"); return 0; } if (a<b){ cout<<"Chislata ot "<<"("<<a<<" do "<<b<<")"<<" sa: "; for(a+=1; a<b; a++) //Да се увеличава първото число с 1, cout<<a<<"; "; //докато не стигне стойността на второто cout<<endl; } else { cout<<"Chislata ot "<<"("<<a<<" do "<<b<<")"<<" sa: "; for (a-=1; b<a; a--) //Да се намалява първото число с 1, cout<<a<<"; "; //докато не стигне стойността на второто cout<<endl; } system("pause"); return 0; }Браво, интересно решение – за всички числа от диапазана, но без самите числа. Наистина, не съм указал в условието трябва ли да се включват и A и B, така че решението е напълно валидно.
#include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int A,B,X; cout<<"Vuvedi stoinost na A i B: "<<endl; cin>>A>>B; for (A; A<=B; A++) cout<<A<<' '; cout<<endl<<"Vuvedete kratnoto X:"; cin>>X; for (A=2; A<=B; A*=X) cout<<A<<' '; system("PAUSE"); return EXIT_SUCCESS; }Мартине, интересно решение на първото подусловие – без допълнителна променлива :-) Нямаш нужда обаче от това A в инициализацията – то така или иначе не прави нищо. По-добре ще е така:
За втория цикъл – тествай го – например за кратните на 5, които са в интервала от 20 до 50…
#include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int B,X; cout<<"Vuvedi stoinost na B: "<<endl; cin>>B; for (int A=1 ; A<=B; A++) cout<<A<<' '; cout<<endl<<"Vuvedete kratnoto X:"; cin>>X; for(int A=20; A<=B; A+=X) cout<<A<<' '; system("PAUSE"); return EXIT_SUCCESS; }Сега вече и първото решение не ти е вярно – не позволяваш да се укаже стойност за А. Макар че си на прав път за второто решение, все още не е коректно – пробвай с интервал (3, 39) да покажеш числата, кратни на 5…
int main(int argc, char *argv[]) { int A,B,x; cout<<"Vuvedete dve chisla "; cin>>A>>B; for(int a=A;a<=B;a++) cout<<a<<" "; cout<<endl; cout<<"Vuvedete chislo, za da vidite koi sa negovite kratni ot intervala "; cin>>x; for(int b=A; b<=B; b++) { if((b%x)==0) cout<<b<<" "; else cout<<" "; } system("PAUSE"); return EXIT_SUCCESS; }Вярно, много добре!