eMatematikas Prisijunk Forumas Užduotys Testai Pradžia

Uzdavinys su pirminiais skaiciais c++ 11 klase


Tekstinio failo pirmoje eilutėje nurodytas sv. sk n nusako kiek faile bus eilučių, o kiekvienos eilutės pirmasis skaičius k, kiek toje eilutėje skaičių. Parašykite programą, kuri suskaičiuotų ir į rezultatų failą įrašytų kiek kiekvienoje eilutėje yra pirminių skaičių.

#include <iostream>
#include <fstream>
using namespace std;
int main ()
{
int n,k,c,S=0,g=0,dalikliuKiekis=0;
ifstream fd("duomenys.txt");
ofstream fr("rezultai.txt");
fd>>n;
for (int i=1;i<=n;i++){
    fd>>k;
    for (int b=1;b<=k;b++){
        fd>>c;
        for (int f=1; f < c; f++){
            if (c % f == 0)
            {
            dalikliuKiekis++;}
                                  }
        if (dalikliuKiekis<=2) S++;
                          }
    g=g+S;
                        }
fr<<S<<endl;
fr.close();
fd.close();
return 0;
}

Darau taip, taciau neteisingai skaiciuoja.
Tarkim duomenis parasau tokius:
3
1 7
2 10 5
3 4 5 6
Atsakyme raso 1.
Kas ne taip?

Problema ta, kad dalikliuskaicius pas tave visą laiką tik didėja. Patikrinus kiekvieną skaičių, jį vėl reikia nustatyti į 0.

Po eilutės "if (dalikliuKiekis <= 2) S++;" pridėk "dalikliuKiekis = 0;".

Aciu!

Sveiki. Sprendžiu šį uždavinį ir nepavyksta jo užbaigti. Nesuprantu kaip ta klaida įsitaisiusi 31 eilutėj dėl { ženklo.

http://www.part.lt/img/820241a20a4911b990f443ed1abfd186413.jpg

http://www.part.lt/img/de76f426aeb42c3602616f0fd75425e0821.PNG

Nereikia kabliataškio.

almostlowNereikia kabliataškio.

Kabliataškių naikinimas nieko nepadeda - padidėja klaidų.

main funkcijoje tau nereikia apsibrezti nei s nei k, k apsibreziama funkcijoj kur skaiciuoji daliklius o s apskritai neapsibreziamas. Nu toliau kaip ir viskas tvarkoj, tik nezinau kam tos konstantos reikalingos as tiesiog rasyciau ifstream fd("duomenys.txt");. Ir nuimk ta kabliataski, jis tikrai nereikalingas. Ir dirbant su failais reikia itraukti fstream biblioteka.

pakeista prieš 11 m

Problema išspręsta. Programa tvarkoje. Na o dėl konstantų tai dabar tik sužinojau, kad galimas tavo pasiūlytas variantas, nes mokytoja niekada neminėjo apie tai, o gal ir pati nežino :D Didelis ačiū už pagalbą!

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