- Форум
- По малко от всичко
- Информационни технологии
- Решение на лесна задача на С++. Много Ви моляяя
Ето задачата, спешно е!
Да се напише програма, която намира произведението на целите числа в интервала (m,n) m<=n.
Задачата трябва да се реши по 2начина: 1-вия с oператорът do; 2-рия с операторът while.
Спешно е! Много Ви моля, помогнете ми!
Мерси предварително
т.1 от Правилника!
Модерирано от sh3_1s_7h3_0n3
Program Proizvedenie;
Var m,n,i:integer;
pr:integer;
Begin
printf('vyvedete n');scanf(%d,n);
printf('vyvedete m');scanf(%d,m);
pr=1;
for(i=n;i<=m;i++);
pr=pr*i;
scanf('prozivdenieto e', pr);
Program Pr2;
....
i=n;
while (n<m) do
pr:=pr*i;
i++;
...
Zna4i dano sym ti pomognala, samo da ti kaja, 4e za formatirashite stringove, demek printf i scanf ne sym sig kak bqha, vij si gi ot knigata, vtoriq varinat samo sym smenila fragmenta s cikyla, drugoto si e pak kato v pyrvata zad. Uspeh![]()
Това С++ ли е, миличка, че от първото нищо не разбирам.Първоначално написано от Анонимко
Трябват ми 2решения на задачата - едното да е само с while, другото с do. Bez nikakki masivi, ne sme gi vzemali...
Това, което си написала е нещо средно между С (не ++) и Паскал. Ето как трябва да стане:
Със for:
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int main(int nNumberofArgs, char* pszArgs[])
{
int m, n, i, pr;
cout<<"Vavedete m: ";
cin>>m;
cout<<"Vavedete n: ";
cin>>n;
pr=1;
for(i=m;i<=n;i++) {
pr=pr*i;
}
cout<<"Proizvedenieto e "
<<pr <<endl;
system("PAUSE");
return 0;
}
Със while:
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int main(int nNumberofArgs, char* pszArgs[])
{
int m, n, i, pr;
cout<<"Vavedete m: ";
cin>>m;
cout<<"Vavedete n: ";
cin>>n;
pr=1;
i=m;
while (i<=n) {
pr=pr*i;
i++;
}
cout<<"Proizvedenieto e "
<<pr <<endl;
system("PAUSE");
return 0;
}
Тествани са, работят.
БДУ не всички #include декларации ти трябват. Тези които не ти трябват, може да ги махнеш ако искаш.
Благодаря.![]()
само за информация ... този вид задачи се решават с рекурсия, но разбирам, че още не сте ги учили, ако все пак проявяваш интерес ето една такава реализация:Първоначално написано от sineoka_kukla
Успех!Код:// multiplication.cpp // Dev C++ #include <iostream> #include <conio.h> using namespace std; int result(); void multiplication(int m, int n, int& x); int main() { cout << result(); getch(); return 0; } // ------------------------------------------- int result() { // m - начало на интервал, n - край на интервал, x - резултат int n, m, x=1; cout << "m = "; cin >> m; cout << "n = "; cin >> n; multiplication(m, n, x); return x; } // -------------------------------------------- void multiplication(int m, int n, int& x) { if(m <= n) { x *= m; multiplication(m+1, n, x); } } // ------------------- END --------------------