Dozz (+92)
Sveiki užstrigau su vienu uždaviniu, gal kas geriau supranta programavima galėtu padėt? :)
Klaviatūra įvedami sveikieji skaičiai a ir b. Nustatykite kurio skaičiaus skaitmenų sandauga mažesnė(nulį atmeskite).
Dozz (+92)
Sveiki užstrigau su vienu uždaviniu, gal kas geriau supranta programavima galėtu padėt? :)
Klaviatūra įvedami sveikieji skaičiai a ir b. Nustatykite kurio skaičiaus skaitmenų sandauga mažesnė(nulį atmeskite).
Tomas (+4567)
O čia kaip suprasti, ar skaičius negali būti 0, ar jei skaitmuo turi 0, tai juos tiesiog praleisti ir dauginti nenulinius skaitmenis?
Dozz (+92)
Reikia rasti skaiciaus skaitmenu sandauga, bet kad sandauga nebutu 0, tai jei vienas skaitmuo 0, jo nereikia sudauginti.
pakeista prieš 9 m
Tomas (+4567)
Ši funkcija daugina visus skaičiaus skaitmenis, praleisdamas 0 (pradiniai duomenys: skaičius, kurio skaitmenų sandauga skaičiuojama, rezultatas - skaitmenų sandauga)int SkaitmenuSandauga(int sk)
{
int sandauga=1;
while(sk>0)
{
if (sk%10!=0) sandauga*=sk%10;
sk/=10;
}
return sandauga;
}
Dozz (+92)
Ačiū :)
Dozz (+92)
Norėjau pasitikslinti ar užrašas sandauga*=sk%10 tas pats kaip sandauga=(sandauga*sandauga)*(sk%10)
ir sk/=10 yra sk=sk/10?
Tomas (+4567)
sandauga*=sk%10 tas pats, kas sandauga=sandauga*(sk%10), o dėl antro užrašo tu teisus.
Dozz (+92)
Kažkur įsivėlė klaida, manau skaitmenų sandaugos funkcijoje. Meta belekokius skaičius.#include <iostream>
using namespace std;
void Ivestis(int A, int B);
void SkaitmenuSandauga(int A, int B, int & SanA, int & SanB);
void Spausdinimas (int A, int B, int SanA, int SanB);
int main()
{
int A, B;
int SanA=1;
int SanB=1;
Ivestis(A, B);
SkaitmenuSandauga(A, B, SanA, SanB);
Spausdinimas(A, B, SanA, SanB);
return 0;
}
void Ivestis(int A, int B){
cout<<"Iveskite skaiciu A:"<<endl;
cin>>A;
cout<<"Iveskite skaiciu B:"<<endl;
cin>>B;
cout<<""<<endl;
cout<<"Skaicius A: "<<A<<"; Skaicius B: "<<B<<endl;
}
void SkaitmenuSandauga(int A, int B, int & SanA, int & SanB){
while (A>0){
if(A%10!=0){
SanA=SanA*(A%10);
A=A/10;
}
}
while (B>0){
if(B%10!=0){
SanB=SanB*(B%10);
B=B/10;
}
}
}
void Spausdinimas (int A, int B, int SanA, int SanB){
cout<<""<<endl;
cout<<"Skaiciaus A skaitmenu sandauga:"<<SanA<<endl;
cout<<"Skaiciaus B skaitmenu sandauga:"<<SanB<<endl;
if(A>B){
cout<<"Skaiciaus A skaitmenu sandauga didesne: "<<A<<">"<<B<<endl;
}
else if (B>A){
cout<<"Skaiciaus B skaitmenu sandauga didesne: "<<B<<">"<<A<<endl;
}
else if (A==B){
cout<<"Skaiciu A ir Bskaitmenu sandauga lygi: "<<A<<"="<<B<<endl;
}
}
pakeista prieš 9 m
Tomas (+4567)
Pataisiau:#include <iostream>
using namespace std;
void Ivestis(int&, int&);
void SkaitmenuSandauga(int A, int B, int & SanA, int & SanB);
void Spausdinimas (int A, int B, int SanA, int SanB);
int main()
{
int A, B;
int SanA=1;
int SanB=1;
Ivestis(A, B);
SkaitmenuSandauga(A, B, SanA, SanB);
Spausdinimas(A, B, SanA, SanB);
return 0;
}
void Ivestis(int &A, int &B){
cout<<"Iveskite skaiciu A:"<<endl;
cin>>A;
cout<<"Iveskite skaiciu B:"<<endl;
cin>>B;
cout<<""<<endl;
cout<<"Skaicius A: "<<A<<"; Skaicius B: "<<B<<endl;
}
void SkaitmenuSandauga(int A, int B, int & SanA, int & SanB){
while (A>0){
if(A%10!=0){
SanA=SanA*(A%10);
A=A/10;
}
else A/=10;
}
while (B>0){
if(B%10!=0){
SanB=SanB*(B%10);
B=B/10;
}
else B/=10;
}
}
void Spausdinimas (int A, int B, int SanA, int SanB){
cout<<""<<endl;
cout<<"Skaiciaus A skaitmenu sandauga:"<<SanA<<endl;
cout<<"Skaiciaus B skaitmenu sandauga:"<<SanB<<endl;
if(SanA>SanB){
cout<<"Skaiciaus A skaitmenu sandauga didesne: "<<SanA<<">"<<SanB<<endl;
}
else if (SanB>SanA){
cout<<"Skaiciaus B skaitmenu sandauga didesne: "<<SanB<<">"<<SanA<<endl;
}
else if (SanA==SanB){
cout<<"Skaiciu A ir Bskaitmenu sandauga lygi: "<<SanA<<"="<<SanB<<endl;
}
}
pakeista prieš 9 m
Dozz (+92)
Ačiū :)
pakeista prieš 9 m
Nori sudalyvauti šioje temoje ir parašyti savo pranešimą? Prisijungti »
© 2007 - 2026 eMatematikas.lt Kontaktai Naudojimosi taisyklės Privatumo politika