Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int n,k,h=2;
- ifstream f("bac.txt");
- f>>n;
- for(int i=1;i<=n;i++)
- {
- f>>k;
- if(k<h) cout<<h<<" ";
- else {while(h<k)
- h=h*2;
- cout<<h<<" ";}
- }
- +++++++++++++++++++++
- #include <iostream>
- #include <fstream>
- /**
- 9. A BAC.IN szöveges állomány egyetlen sorában több természetes szám található egy-egy szóközzel elválasztva, a számok legfeljebb 6 számjegyűek. Határozzátok meg és írassátok ki a képernyőre
- a BAC.IN. állományban található legutolsó páratlan számot. Ha az állományban nincs páratlan szám a képernyőre a Nu există numere impare üzenet kerüljön
- Példa: ha a BAC.IN szövegállomány tartalma: 12 6 25 68 13 8 24 31 42 akkor a képernyőre kiírt érték a 31.
- a) Írjátok le saját szavaitokkal a felhasznált memória és a futási idő szempontjából hatékony algoritmust. Magyarázzátok meg, hogy miben rejlik a módszer hatékonysága. (4p.)
- b) Készítsétek el az algoritmusnak megfelelő C++ programot. (6p.)
- */
- using namespace std;
- int main()
- {
- int n,e=2;
- ifstream f("bac.in");
- while(f>>n)
- {
- if(n%2==1) e=n;
- }
- if(e!=2) cout<<e;
- else cout<<"Nu exista numere impare";
- return 0;
- }
- ///hatékony, mert nem tárol, a beolvasás végére pedig megkapja az eredményt.
- +++++++++++++++++++++++++
- #include <iostream>
- #include <fstream>
- /**
- 10. A numere.txt szöveges állomány első sorában két, n és m (m≤n) legfeljebb 4 számjegyű szóközzel elválasztott természetes szám található, a következő sorban, pedig n darab,
- legfeljebb két számjegyű, egymástól egy-egy szóközzel elválasztott, szigorúan növekvő sorrendben levő természetes szám található.
- a) Írjatok a memória és a futási idő szempontjából hatékony C++ programot, amely kiolvassa az állományból az adatokat, és kiírja azt a legnagyobb összeget, amelyet m darab szám
- összegéből kapunk. (4p.)
- b) Írjátok le a saját szavaitokkal az általatok használt megoldási módszert és magyarázzátok meg, hogy miben rejlik a hatékonysága. (6p.)
- */
- using namespace std;
- int main()
- {
- int a[100],n,m,o=0;
- ifstream f("numere.txt");
- f>>n>>m;
- for(int i=1;i<=n;i++)
- f>>a[i];
- int nn=n;
- while(m!=0)
- {
- o=o+a[nn];
- nn--;
- m--;
- }
- cout<<o;
- return 0;
- }
- ///hatékony, mert nem rendez, ezért hátulról kezdi és a csak m-ig halad
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement