Reserved
-
Pranešimai
15 -
Užsiregistravo
-
Lankėsi
-
Atsiliepimai
0%
Turinio tipas
Forumas
Kalendorius
Parduotuvė
Akademija
Skelbimai
Reserved Pranešimai
-
-
Hm. O kam tas rikiavimas? Laikiau aš šiemet šitą bandomą info ir netaip dariau :)
Įmesiu kodą. Nežinau kaip veikia su kitokiais duomenim, bet kur tie ABCDE prie užduoties buvo, tai veikia ;)
#include <iostream> #include <fstream> #include <iomanip> #include <string> #include <math.h> using namespace std; //------------------------------------ const char CDfv [] = "Duomenys.txt"; const char CRfv [] = "Rezultatai.txt"; //------------------------------------ void Nuskaitymas(int n,int Rado[], int Bend[]){ ifstream fd(CDfv); for(int i = 0; i <n;i++){ Rado[i]=0; Bend[i]=0; //"Nunilina" abu masyvus } for(int j =0; j<5;j++) fd >> Rado[j]; //Rastus luitus sudeda į "Rado" masyvą fd.close(); //Uždaro duomenų failą } void Veiksmas(int Bend[], int Rado[]){ int p_nr; //Pirato numeris for(int i=0; i <5;i++){ p_nr = i+1; while(Rado[i] > 0 && p_nr <10){ Bend[p_nr]++; Rado[i]--; p_nr++; } if(Rado[i]>0) Bend[i]=Rado[i]; //Po dalijimo jei lieka luitų, tai pasilieka sau } } void Isvedimas(int Bend[]){ ofstream fr(CRfv); for(int i =0; i <10; i++) fr << Bend[i] << " "; fr.close(); } //------------------------------------ int main(){ int n = 10; //10 piratø dalijasi auksà int Rado[10]; //Penki piratai ir jø rastas aukso luitø kiekis int Bend[10]; //Kiek kiekvienas piratas turës aukso po visø dalybø Nuskaitymas(n,Rado,Bend); //Nuskaito duomenis Veiksmas(Bend,Rado); //Apskaičiuoja luitus Isvedimas(Bend); //Išveda duomenis return 0; }
Gavau 20 iš 20 taškų. Darau du masyvus, pirmas tai kiek piratų rado aukso, antras tai bendras, kiek kiekvienas piratas po dalybų turėjo. Turėtų veikt ir su kitais duomenim. Gal kažkas geresnį kodą sugalvojo :)
-
arba parašiau kodą, kad neįmanoma sukeist? visokiausių variacijų bandžiau ir su while, su for ciklais, bet man pačiam masyve tarpo nėr, bet keičia tapusavyje tai atrodo kad jis iš oro atsiranda :D
-
#include <iostream> #include <fstream> #include <string> #include <vector> #include <algorithm> using namespace std; //----------------------------- const char CDfv[] = "Duomenys2.txt"; const char CRfv[] = "Rezultatai1.txt"; //----------------------------- void Nuskaitymas(int &n, string R[]); char Keisti(string s); void Isvedimas(string R[], int n); //----------------------------- int main() { int n; //kiek masyve nariø string R[100]; /*Kreipiniai į funckijas*/ Nuskaitymas(n, R); //Nuskaitymas: nuskaito šifrą ir sudeda į masyvą R int k=0; for(int i=0; i <n-1;i++){ string t = R[i]; R[i]=R[i+1]; R[i+1]=t; i++; } //R[n]+= " "; R[n]=Keisti(R[n]); Isvedimas(R,n); //Išvedimas: išveda atkoduotas raides return 0; } void Nuskaitymas(int &n, string R[]) { n = 0; ifstream fd(CDfv); while (!fd.eof()) { getline(fd, R[n], ' '); //Nuskaito koduotą raidę iki tarpo n++; } fd.close(); } char Keisti(string s) { char x; if (s == "*- ") x = 'A'; else if (s == "*-*- ") x = 'Ą'; else if (s == "-*** ") x = 'B'; else if (s == "-*-* ") x = 'Č'; else if (s == "---* ") x = 'Ė'; else if (s == "-** ") x = 'D'; else if (s == "* ") x = 'E'; else if (s == "**-** ") x = 'Ę'; else if (s == "**-* ") x = 'F'; else if (s == "--* ") x = 'G'; else if (s == "**** ") x = 'H'; else if (s == "** ") x = 'I'; else if (s == "-*-- ") x = 'Y'; else if (s == "*--- ") x = 'J'; else if (s == "-*- ") x = 'K'; else if (s == "*-** ") x = 'L'; else if (s == "-- ") x = 'M'; else if (s == "-* ") x = 'N'; else if (s == "--- ") x = 'O'; else if (s == "*--* ") x = 'P'; else if (s == "--*- ") x = 'Q'; else if (s == "*-* ") x = 'R'; else if (s == "*** ") x = 'S'; else if (s == "---- ") x = 'Ð'; else if (s == "- ") x = 'T'; else if (s == "**- ") x = 'U'; else if (s == "**-- ") x = 'Ū'; else if (s == "**-- ") x = 'Ų'; else if (s == "***- ") x = 'V'; else if (s == "*-- ") x = 'W'; else if (s == "-**- ") x = 'X'; else if (s == "--** ") x = 'Z'; else if (s == "--** ") x = 'Ž'; else if (s == "----- ") x = '0'; else if (s == "*---- ") x = '1'; else if (s == "**--- ") x = '2'; else if (s == "***-- ") x = '3'; else if (s == "****- ") x = '4'; else if (s == "***** ") x = '5'; else if (s == "-**** ") x = '6'; else if (s == "--*** ") x = '7'; else if (s == "---** ") x = '8'; else if (s == "----* ") x = '9'; else if (s == "****** ") x = '.'; else if (s == "*-*-* ") x = ','; else if (s == "**-** ") x = '?'; else if (s == "--**-- ") x = '!'; else if (s == "-****- ") x = '-'; else if (s == "*-**-* ") x = '"'; else if (s == "-*-*-* ") x = ';'; else if (s == "---*** ") x = ';'; else if (s == " ") x = ' '; return x; } void Isvedimas(string R[], int n){ ofstream fr(CRfv); for(int i=0; i <n; i++) fr << R[i] << " "; fr.close(); }
Nesigauna apkeist narius, maždaug padariau, kad nuskaityt su getline iki tarpo, o vėliau darau +=" " kad pridėt tarpą, nes tarp simbolių tarpas yra. Tik va niekaip apkeitimas porinis tarpusavyje nesigauna. Gal kažką pasiūlysit? :) Po žodžio, t.y 4 simbolių dedu dar vieną tarpą, nes vienas nuo simbolio o kitas šiaip tarp žodžių.
-
O kaip vėliau su žodžių apkeitimu tarpusavyje?
-
-
-
#include <fstream> #include <iostream> #include <fstream> #include <vector> using namespace std; //----------------------------- const char CDfv [] = "D.txt"; const char CRfv [] = "Rez1.txt"; //----------------------------- int main(){ vector<char> A {'p','b','z','r','v','k'}; cout << A[0]; }
Paklausiu čia, kas negerai vektoriuje parašyta, kad klaidą meta man? su masyvu taip nebūna, bet masyvas ne vektorius :)
-
gali susikurt du kintamusiuos ir tada maždaug taip
{ for(int j =0;j<10;j++) A[j]=0; ifstream fd(bulves.txt); fd >> n int x,y; for(int i=0; i <n;i++){ fd >> x >> y; A[x]+=y; } }
maždaug vienas masyvas, jį nusinulini, o tada susikuri du kintamuosius, pirmas nuskaito dieną(masyvo numerį) ir tada į A[x] (masyvo vieta yra diena) o tada sudedi su y(bulvių maišų kiekis).
Kaip dėl veikimo nežinau, pabandyk taip :)
-
Vektorius yra masyvas, kuris gali dinamiškai keisti dydį.
pats automatiškai? :)
-
Kad nekurt naujos temos tai paklausiu čia. Kuo skiriasi c++ kalboje masyvas nuo vektoriaus? ir kur naudojami vektoriai?
-
Paklausiu čia. Gal galit pasakyt kaip rasti skaičius tekste? Maždaug duotas tekstas ir reik tik skaičius nuskaityt :)
-
Pridėk kodo kiek esi parašęs ir žiūrėsim kas netaip :)
-
Dėkui, veikia,bet išveda taip 8 2 7 9 9 2 4660296 :D paskutinis skaičius ne prie ko :D
Išvedime cikle rašei i <=n, o reiktu i <n; Bet vistiek dėkui ;)
-
Sveiki, nesigauna uždavinys. Čia kiek kodo parašiau, gal kas pagalbėsit? :) Išveda 8 7 8 7 2 2 tokius skaičius, o ne kokie uždavinio atsakymo skiltyje nurodyti.
#include <iostream> #include <fstream> using namespace std; /*--------------------------------------*/ const char CDfv []="Duomenys.txt"; const char CRfv [] ="Rezultatai.txt"; const int m = 100; /*--------------------------------------*/ void Nuskaitymas(const char fv[], int &n, int &d, int A[]); void Veiksmas(int &n, int d, int A[]); void Isvedimas(const char fv[], int A[], int n); void Salinimas(int A[], int &n, int ind); /*--------------------------------------*/ int main() { int n, d, Bakt[m]; Nuskaitymas(CDfv, n, d, Bakt); Veiksmas(n, d, Bakt); Isvedimas(CRfv, Bakt, n); return 0; } void Nuskaitymas(const char fv[], int &n, int &d, int A[]) { ifstream fd(fv); fd >> n >> d; for (int i = 0; i < n; i++) { A[i] = 0; } for (int j = 0; j < n; j++) fd >> A[j]; fd.close(); } void Veiksmas(int &n, int d, int A[]){ int nr =0; while(n > nr){ if(A[nr]>A[nr+1]&& A[nr]<7){ A[nr]+=A[nr+1]; Salinimas(A,n,A[nr+1]); } else if(A[nr] < A[nr+1] && A[nr+1] <7){ A[nr]+=A[nr+1]; Salinimas(A,n,A[nr+1]); } else nr++; } } void Salinimas(int A[], int &n, int ind) { for (int i = ind; i < n - 1; i++){ A[i] = A[i + 1]; } n--; } void Isvedimas(const char fv[], int A[], int n) { ofstream fr(fv); for (int i = 0; i <= n; i++) fr << A[i] << " "; fr.close(); }
C++ Skaitymas iš failo
Programuotojų kampas
Atrašyta
Tai sakau, sprendimai gali visokie būt :)