eMatematikas Prisijunk Forumas Egzaminų užduotys ONLINE testai

For ciklas, norint atrinkti skaičius iš intervalo


Sveiki, susiduriau su problema sprendziant uzdavini, kurio salyga skaamba taip:

Elektroninės parduotuvės trečiojo gimtadienio proga buvo organizuota loterija, kurioje
bilietų numeriai buvo trizenkliai skaičiai iš intervalo [s1; s2]. Laimingi bus bilietai, kurie be
liekanos dalijasi iš trijų ir kurių bent vienas skaitmuo taip pat dalijasi iš trijų be liekanos
(skaitmenys negali būti lygūs nuliui). Parašykite programą šiam uzdaviniui spręsti. Bilietų
numeriai turi būti rodomi ekrane arba rezultatų faile . Pvz: Kai s1=222, s2=245 , tai ats - 231, 234, 237, 243

Cia mano bandymas:

#include <iostream>
#include <iomanip>
#include <fstream>
#include <cmath>
using namespace std;
const char SF [] = "Duomenys.txt";
const char RF [] = "Atsakymai.txt";
int main()
{ int s1, s2, i1, i2, i3;
ifstream sf (SF);
sf >> s1 >> s2;
ofstream rf (RF);

for (int i = s1; i<=s2; i++)
{
i1 = i % 10;
i2 = i /10 % 10;
i3 = i/ 100 %10;

if (i%3==0 && i1%3==0 && i2%3 ==0 && i3%3 ==0)
rf << " " << i << endl;

}

return 0;
}


Zinau kad if salyga bloga tik niekaip nesugalvoju kaip teisingiau uzrasyt. Buciau dekingas jei pakelbetumet :)))

Pabandyk rasyt ne i viena if o i kelis

Jau pavyko issprest, tereikejo pakeist zenklUS if cikle

Nori sudalyvauti šioje temoje ir parašyti savo pranešimą? Prisijungti »