Hirdetés
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- GoodSpeed: Munkaügyi helyzet Hajdú-Biharban: észak és dél!
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- gban: Ingyen kellene, de tegnapra
- Magga: PLEX: multimédia az egész lakásban
- aquark: A legdrágább, nem antik és nem egyedi könyvek
- Geri Bátyó: Samsung T7 1TB külső SSD
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
Új hozzászólás Aktív témák
-
icespeak
csendes tag
Hi mindenki. Szerintetek mi lehet az alábbi kóddal a probléma?
/*
10. A Föld felszínének egy vonala mentén egyenlő távolságonként megmértük a terep tengerszint
feletti magasságát, és a mért értékeket egy vektorban tároljuk. Hány darab hegycsúcs van a
mérési sorozatban?
*/
#include <iostream>
#include <fstream>
#include <sstream>
#include <vector>
int Megszamol(const vector<int> t, int &c);
bool ReadFromFile(const string &fname, vector<int> &t);
void ReadFromKeyboard(vector<int> &t);
int Read12(const string &msg, const string &errormsg);
int main(int argc, char *argv[])
{
char ch;
do{
// Adatok beolvasása
vector<int> t;
bool file_ok = true;
// Adatbevitel módja
int v;
if(argc>1) v = 1;
else{
cout << "Az adatbeolvasás módja:"<< endl
<< " SZÖVEGES FÁJL(1)"<< endl
<< " BILLENTYŰZET (2)"<< endl;
v = Read12("Válasszon: ","Csak 1 vagy 2 közül választhat!");
}
// Beolvasás fájlból
string fname;
switch(v)
{
case 1 :
if(argc<=1){
cout << "Adja meg a szöveges fájl nevét: ";
cin >> fname;
}
else fname = argv[1];
file_ok = ReadFromFile(fname, t);
if(!file_ok && argc>1) {
char ch; cin >> ch;
exit(1);
}
break;
case 2 :
cout << "Adjon meg mérési értékeket! Kilépés: quit \n";
ReadFromKeyboard(t);
break;
}
// Kiíratás
if(file_ok)
{
if(Megszamol(c)) cout << "Hegycsúcsok száma:" << c << endl;
else cout << "Nincs hegycsúcs"<< endl;
cout << endl << "Futtassam újra? (I/N) "; cin >> ch;
}
}while(ch!='n' && ch!='N');
return 0;
}
//Feladat: 1-es vagy 2-es beolvasása
//Tevékenység: Billentyűzetről kizárólag két szám, az 1-es vagy a 2-es valamelyikét fogadja el
// más adatot nem
//Bemenő adat: string msg - a beolvasás előtt megjelenítendő üzenet
// string error - hibás adat beírásakor megjelenítendő üzenet
//Kimenő adat: int v - 1-es vagy 2-es szám (visszatérési értékként)
int Read12(const string &msg, const string &errormsg)
{
int n;
bool hiba = true;
do{
cout << msg;
string str;
cin >> str;
n = atoi(str.c_str());
hiba = (n==0 && str!="0") || n<1 || n>2;
if(hiba) cout << errormsg << endl;
}while(hiba);
return n;
}
//Feladat: Integereket tartalmazó tömb (vector) feltöltése billentyűzetről
//Tevékenység: Billentyűzetről olvas be egymás után integereket és helyezi el őket egy vektorban
// addig, amíg a "quit" szót nem írjuk.
//Bemenő adat: -
//Kimenő adat: vector<int> t
void ReadFromKeyboard(vector<int> &t)
{
int meres;
cin >> meres;
while(meres!="quit"){
t.push_back(meres);
cin >> meres;
if (meres < 0){
meres = 0;
}
}
}
//Feladat: Integereket tartalmazó vektor feltöltése szöveges állományból
//Tevékenység: Megnyitja a megadott szöveges állományt (sikertelen kísérlet esetén hibát jelez)
// majd a fájlból egymás után beolvassa az összes elválasztójelekkel határolt számot
// és elhelyezi azokat egy vektor-ban
//Bemenő adat: string fname - szöveges állomány neve
//Kimenő adat: vector <int> t
// bool ok - sikerült-e az állomány megnyitása (visszatérési értékként)
bool ReadFromFile(const string &fname, vector<int> &t)
{
ifstream x(fname.c_str());
if(x.fail()){
cout << "Hibás fájlnév!"<< endl;
return false;
}
int meres;
x >> meres;
while(!x.eof()){
t.push_back(meres);
x >> meres;
if (meres<0){
meres = 0;
}
}
return true;
}
int Megszamol(const vector<int> t, int &c){
int c=0;
for(int i=0; i<(int)t.size(); i++){
if(i<i+1 || i+1>i+2){
c=c+1;
}
}
return c;
}
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Milyen TV-t vegyek?
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Robotporszívók
- Samsung Galaxy A54 - türelemjáték
- Temu
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- VR topik
- Okos Otthon / Smart Home
- sziku69: Szólánc.
- Öszvér módszerrel veszi fel a harcot a memóriapánikkal szemben az ASRock
- További aktív témák...
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

