Neteistas
-
Pranešimai
13 -
Užsiregistravo
-
Lankėsi
-
Atsiliepimai
0%
Turinio tipas
Forumas
Kalendorius
Parduotuvė
Akademija
Skelbimai
Neteistas Pranešimai
-
-
Pirma užduotis nebuvo sunki... Nejuokaukit. Excel, word lengva. Teorija nežinau, visada kažkur susimaunu ant jos. O antros programavimo užduoties nespėjau padaryti. :(
Jei tau taip lengva buvo, tai kodėl nespėjiai visko padaryt? :D
-
Antroji žymiai lengvesne :) Gal kas nors pirmos sprendimą turi? :D
-
Kokiu tu čia metodu rikiuoji? :)
-
Bet man regis nuskaito tik pirmą eilutę. Ar neteisus aš? kaip patikrinti?
Ir rezultaitai gaunasi
4
Jonas 131
Pažiurek gal kanors suprasi :D
-
rezultatai.txt
Jonas 3
Petras 1
Vytas 1
#include <iostream> #include <fstream> using namespace std; struct asmuo{ string vardas; int amzius; int kiek; }; //----------------------------- //Konstantos const char CDfv[] = "duomenys.txt"; const char CRfv[] = "rezultatai.txt"; const int Cmax = 100; //----------------------------- //Funkciju prototipai void skaityti(asmuo A[], int & n); void ieskoti(asmuo A[], int & n); int kiek(asmuo A[], int & n, int m, string pav); void salinti(asmuo A[], int & n, int index); void rikiuoti(asmuo A[], int n); void rodyti(asmuo A[], int n); //----------------------------- int main() { asmuo A[Cmax]; int n; skaityti(A, n); ieskoti(A, n); rikiuoti(A, n); rodyti(A, n); return 0; } //----------------------------------- //Nuskaito duomenys void skaityti(asmuo A[], int & n) { ifstream fd(CDfv); fd>>n; fd.ignore(80, '\n'); for(int i = 0; i<n; i++) { char eil[9]; fd.get(eil, 9); A[i].vardas = eil; fd>>A[i].amzius; fd.ignore(80, '\n'); A[i].kiek = 1; } fd.close(); } //----------------------------- //Suranda kiek tokiu pat vardu void ieskoti(asmuo A[], int & n) { for(int i = 0; i<n; i++) { A[i].kiek += kiek(A, n, i, A[i].vardas); } } //----------------------------------------------------- //Jeigu suranda toki pat varda pasalina ji ir gražina skaičiu kuris nurodo kiek tokiu pat vardu int kiek(asmuo A[], int & n, int m, string pav) { int k = 0; for(int i = m+1; i<n; i++) { if(A[i].vardas==pav) { k++; salinti(A, n, i); i--; } } return k; } //----------------------------------------------- //Pasalina struktura elementa(Vienoda varda) void salinti(asmuo A[], int & n, int index) { for(int i = index; i<n; i++) { A[i] = A[i+1]; } n--; } //----------------------------------------- //Surikiuoja didejanciai pagal kiek tokiu pat vardu. (Burbuliuko metodas) void rikiuoti(asmuo A[], int n) { for(int i = 0; i<n-1; i++) for(int j = i+1; j<n; j++) { if(A[i].kiek<A[j].kiek) { swap(A[i], A[j]); } } } //--------------------------------------- //Isveda rezultatus i faila void rodyti(asmuo A[], int n) { ofstream fr(CRfv); for(int i = 0; i<n; i++) { fr<<A[i].vardas<<A[i].kiek<<endl; } fr.close(); }
-
Mantonijo laikysi informatikos egza?
-
C++ kodas gal prireiks :D
#include <iostream> #include <fstream> using namespace std; struct miestas{ string miest; string valst; int kiek; }; //Konstantos //---------------------------------- const char CDfv[] = "duomenys.txt"; const char CRfv[] = "rezultatai.txt"; const int Cmax = 104; //---------------------------------- void skaityti(miestas A[], int & n); void ieskoti(miestas A[], int & n); int kiek(miestas A[], int & n, int m, string pav); void salinti(miestas A[], int & n, int index); void rikiuoti(miestas A[], int n); void rodyti(miestas A[], int n); //---------------------------------- int main() { miestas A[Cmax]; int n; //Kiek dalyvauja apskričių skaityti(A, n); ieskoti(A, n); rikiuoti(A, n); rodyti(A, n); return 0; } //Nuskaito duomenys iš duomenys.txt void skaityti(miestas A[], int & n) { ifstream fd(CDfv); fd>>n; fd.ignore(80, '\n'); for(int i = 0; i<n; i++) { char eil[15]; fd.get(eil, 15); A[i].miest = eil; fd.get(eil, 13); A[i].valst = eil; fd>>A[i].kiek; fd.ignore(80, '\n'); } fd.close(); } //Apskaičiuoja kiek kiekvienoje apskrityje gyventojų. void ieskoti(miestas A[], int & n) { for(int i = 0; i<n; i++) { A[i].kiek += kiek(A, n, i, A[i].valst); } } //Suranda kiek tokiu pat apskričių jas pašalina ir gražina ta reikšme int kiek(miestas A[], int & n, int m, string pav) { int k; for(int i = m+1; i<n; i++) { if(A[i].valst==pav) { k += A[i].kiek; salinti(A, n, i); } } return k; } //Pašalina pasikartojančia apskritį void salinti(miestas A[], int & n, int index) { for(int i = index; i<n; i++) { A[i] = A[i+1]; } n--; } //Surikiuoja Burbuliuko metodo didėjančiai void rikiuoti(miestas A[], int n) { for(int i = 0; i<n-1; i++) for(int j = i+1; j<n; j++) if(A[i].kiek>A[j].kiek) swap(A[i], A[j]); } //Spausdina rezultatus i rezultatai.txt void rodyti(miestas A[], int n) { ofstream fr(CRfv); fr<<n<<endl; for(int i = 0; i<n; i++) { fr<<A[i].valst<<" "<<A[i].kiek<<endl; } fr.close(); }
-
Iškilo klausimas kaip reikia komentuoti struktūra? :D
Čia taip liepė informatikos mokytojas komentuoti, bet nesu tuo tikras
#include <iostream> #include <fstream> #include <iomanip> using namespace std; //---------------------------------------- struct grybai{ int diena; //Pirmasis struktūros elementas int baravykai; //Antrasis struktūros elementas int raudonikiai; //Trečiasis struktūros elementas int lepsiai; //Ketvirtasis struktūros elementas int suma; //Penktasis struktūros elementas }; //---------------------------------------- //Konstantos const char CDfv[] = "duomenys.txt"; const char CRfv[] = "rezultatai.txt"; const int Cmax = 100; //---------------------------------------- //Proceduros ir funkcijos void skaityti(grybai A[], int & n); void ieskoti(grybai A[], int & n); void salinti(grybai A[], int n, int index); void rikiuoti(grybai A[], int n); void rodyti(grybai A[], int n); int didziausias(grybai A[], int n); //---------------------------------------- int main() { grybai A[Cmax]; int n; //Kiek dienu grybavo skaityti(A, n); ieskoti(A, n); rikiuoti(A, n); rodyti(A, n); return 0; } //----------------------------------------------- //Atsidaro faila, paima duomenys, surašo į struktūra. void skaityti(grybai A[], int & n) { ifstream fd(CDfv); fd>>n; for(int i = 0; i<n; i++) { fd>>A[i].diena>>A[i].baravykai>>A[i].raudonikiai>>A[i].lepsiai; } fd.close(); } //----------------------------------------------- //Ieško ar yra tokiu pačiu dienų jeigu randa grybus sudeda ir panaikina pakartotine diena void ieskoti(grybai A[], int & n) { int index = 0; for(int i = 0; i<n-1; i++) for(int j = i+1; j<n; j++) { if(A[i].diena==A[j].diena) { index = j; A[i].baravykai += A[j].baravykai; A[i].raudonikiai += A[j].raudonikiai; A[i].lepsiai += A[j].lepsiai; salinti(A, n, index); n--; } A[i].suma = A[i].baravykai + A[i].raudonikiai + A[i].lepsiai; } } //----------------------- //Salina duomenys is masyvo void salinti(grybai A[], int n, int index) { for(int i = index; i<n; i++) { A[i] = A[i+1]; } } //---------------------------------- //Surikiuoja duomenys "Burbuliuko metodu". void rikiuoti(grybai A[], int n) { for(int i = 0; i<n-1; i++) for(int j = i+1; j<n; j++) if(A[i].diena > A[j].diena) { grybai sp = A[i]; A[i] = A[j]; A[j] = sp; } } //------------------------------------ //Atsidaro faila išveda rezultatus void rodyti(grybai A[], int n) { ofstream fr(CRfv); for(int i = 0; i<n; i++) { fr<<A[i].diena<<" "<<A[i].baravykai<<" "<<A[i].raudonikiai<<" "<<A[i].lepsiai<<endl; } int did = didziausias(A, n); fr<<A[did].diena<<" "<<A[did].suma; fr.close(); } //------------------------------------------- //Suranda didžiausia grybų dienos kieki masyvo indeksa int didziausias(grybai A[], int n) { int index = 0; for(int i = 0; i<n; i++) { if(A[i].suma>A[index].suma) index = i; } return index; }
-
Viska gerai rodo.
Rezultatai.txt
įvedus 35
Gyventoju sarasas:
--------------------
Vardas1 Pavarde1 1980
Vardas2 Pavarde2 1970
Vardas3 Pavarde3 1960
--------------------
Gyventojai su nurodytu amziumi:
Vardas1 Pavarde1 1980
O čia ateičiai jeigu laikysi egzamina su funkcijomis.
#include <iostream>
#include <iomanip>
#include <fstream>
#include <string>
using namespace std;
struct gyventojai{
string vardas; //Pirmasis strukturos elementas
string pav; //Antrasis strukturos elementas
int gimmetai; //Treciasis strukturos elementas
int amzius; //Kentvirtasis strukturos elementas
};
//--------------------------------------
//Konstantos
//--------------------------------------
const char CDfv[] = "duomenys.txt";
const char CRfv[] = "rezultatai.txt";
const int Cmax = 30;
//--------------------------------------
//Funkcijos
//--------------------------------------
void skaityti(gyventojai A[], int &n);
void rodyti(gyventojai A[], int n, int gamzius);
//--------------------------------------
int main()
{
gyventojai A[Cmax];
int n; //Kiek gyventoju
int gamzius; //gyventojo amzius
skaityti(A, n);
cout<<"Iveskite gyventojo amziu: "<<endl;
cin>>gamzius; //gyventojo amzius
rodyti(A,n,gamzius);
return 0;
}
//------------------------------------
//Nuskaitomo iš failo duomenys suzinome amziu ir tuo paciu suzinome kiek yra gyventoju.
void skaityti(gyventojai A[], int &n)
{
n = 0;
ifstream fd(CDfv);
while(!fd.eof())
{
fd>>A[n].vardas>>A[n].pav>>A[n].gimmetai;
A[n].amzius=2015-A[n].gimmetai;
n++;
}
fd.close();
}
//-----------------------------------------
// patikrina kiek yra gyventoju su tokiu amziu ir iraso rezultatus i faila
void rodyti(gyventojai A[], int n, int gamzius)
{
ofstream fr(CRfv);
fr<<" Gyventoju sarasas: "<<endl;
fr<<"--------------------"<<endl;
for(int i=0;i<n;i++)
fr<<left<<setw(15)<<A.vardas<<setw(15)<<A.pav<<" "<<A.gimmetai<<endl;
fr<<"--------------------"<<endl;
fr<<"Gyventojai su nurodytu amziumi: "<<endl;
for(int i=0;i<n;i++)
{
if(A.amzius==gamzius)
fr<<left<<setw(15)<<A.vardas<<setw(15)<<A.pav<<" "<<A.gimmetai<<endl;
}
fr.close();
}
-
Pats paprasciausias budas :D jei taip supratau salyga :D
-
Gal bandyk užeit į vaizdopamokos.lt
- whiteproject , Rimvylo ir Augustris sureagavo į tai
- 3
2015 IT VBE
Programuotojų kampas
Atrašyta
Nu šita kaip? :D
http://www.part.lt/img/afcb7fd86d3572adcf04deaddd378575846.jpg