Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

Pagalbos su pirminių sk. radimo faile programa


Simonas142

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 2546 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Sveiki, iškilo nedidelė problema. Bandžiau sukurti programą, kuri iš duomenų failo:

  1. Išspausdintų kiek iš viso skaičių yra tame faile.
  2. Išspausdintų pirminius skaičius.

Kadangi teisingai išspausdina kiek yra tame faile skaičių prie to nesikabinu, tačiau neteisingai išspausdina pirminius skaičius. Nežinau kur klaida, tad nutariau pasiteirauti jūsų.

Duomenys.txt failo duomenys: 

  • 7
  • 11
  • 7
  • 91
  • 12
  • 7
  • 33
  • 13
     

Kodas:

#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    ifstream in ("Duomenys.txt");
    int a, k=0, sk;
    in >> a;
    ofstream out ("Rezultatai.txt");
    out << "Iš viso skaitmenų: " << endl << a << endl;
    out << "Iš jų pirminiai skaičiai šie: " << endl;
    for (int c=1; c<=a; c++)
    {
        in >> sk;
        for (int b=1; b<=sk; b++)
        {
            if (sk%b==0)
                k++;
        }
        if (k==2)
        {
            out << sk << endl;
        }
    }
    return 0;
}

 

Redaguota , nario Tautedorus
Nuoroda į komentarą
Dalintis per kitą puslapį


#include <iostream>
#include <fstream>
#include <string> 
using namespace std;
#define MAX_LINES 16 //Daugiausiai eilučių kiek gali būti.
int main()
{
	string line[MAX_LINES];
	int _i = 0; //eilučių skaičius
	ifstream in("Duomenys.txt");

	while (getline(in, line[_i])) {//Gauname failą eilute po eilutes ir nukopijuojame jį į string array
		_i++;
	}

	
	ofstream out("Rezultatai.txt");
	out << "Iš viso skaitmenų: " << endl << _i << endl;
	out << "Iš jų pirminiai skaičiai šie: " << endl;

	for (int i = 0; i < _i; i++)//"Loopinam" per visas eilutes
	{
		out << line[i].c_str() << endl; //Kiekviena eilute išspausdiname consolėje.
	}

	system("pause"); //Tam kad programa sustotu.
	return 0;
}

Sutvarkytas kodas. Pakeistos vietos kaip for loopas, kintamujų vardai, linijų skaičiaus gavimas ir jų išspausdinimas. Jeigu kažkas neaišku, gali parašyti, atsakysiu.

 

Atkreipk dėmesį į MAX_LINES skaičių. Jeigu jis bus mažas, gali būti kad ne visos linijos atsispausdins.

Redaguota , nario IamU
Pakeistas loopo skaičiaus vardas.
  • Teigiamai 1
Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 2546 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Svečias
Ši tema yra užrakinta.
  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...