Hirdetés
- Xiaomi 15T Pro - a téma nincs lezárva
- Okosóra és okoskiegészítő topik
- Megbüntették, ezért feloszlatná az EU-t Elon Musk
- Apple iPhone 17 - alap
- Samsung Galaxy A17 5G – megint 16
- Google Pixel topik
- Fele annyit ér az iPhone Air, mint amennyibe pár hete került
- Telekom mobilszolgáltatások
- Honor Magic6 Pro - kör közepén számok
- Xiaomi 15T - reakció nélkül nincs egyensúly
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
Ja bocsi, az elkerülte a figyelmem, hogy az a lényeg, hogy szavanként tárold el.
Az sem túl nehéz, akkor meg csináld azt, hogy mondjuk sima string helyett string*-ot használsz.Írtam egy példát, bevallom, nem igazán néztem át, hogy helyes-e, és mivel láttam, hogy sürgős, elég gyorsan írtam, így lehetnek benne hibák, mindenesetre kipróbáltam, és működik.
Az eredeti példa analógiájára csináltam, de kissé átalakítva.Így néz ki:
// string::push_back
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main ()
{
ifstream file ("teszt.txt",ios::in);
if( !file.good() ){ //Fájlpara
cout<<"Hiba a fajllal...";
}
else //OK
{
string* words;
const int default_size=100; //kezdetben pl. 100 méretű tömböt hozunk létre
words=new string[default_size];
int size=default_size; //eltároljuk az alapértelmezett (kezdő)méretet, ha kell, növelünk
int count=0; //hol tartunk a tömbben? (egyszerűbb nyilvántartani)
while( file.good() ) //countot majd a cikluson belül növeljük
{
char c=file.get();
if(c==' ') count++; //szóközt kaptunk, növelünk, következő helyre tároljuk a szót
if(count<default_size){ //még beleférünk
words[count].push_back(c);
}
else{ //nyújtózkodunk
//pl. duplázzuk a kezdőméretet
string* tmp=new string[size*2]; //átmeneti változó, kétszeres kezdőmérettel
for(int uj=0;uj<count;uj++){ //csak count-ig van értelme menni, csak addig töltöttük fel
tmp[uj]=words[uj];
}
size*=2; //duplázzuk
tmp[count].push_back(c);
delete[] words; //töröljük az eredeti adatait
words=tmp; //végül belemásoljuk a nyújtott mérettel
}
}
for(int i=0;i<count;i++){
cout <<"i: "<<i<<".: "<< words[i] << endl;
}
}
return 0;
}
Ú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!
- Dell latitude 5420 i5-1145G7/ 16gb ddr4/ 250gb m.2 SSD
- Dell XPS 9350 13.4 /16:10/FHD+1920x1200/Intel Core Ultra 5 GEN2 226V/16GB/512GB SSD/ÚJ
- Számítógép, Laptop, I3-7.gen, 8GB DDR4, 240GB ssd, magyar bill, 15,6"-os Full HD kép, gyári töltő
- Apple Iphone 12 64gb Zöld
- Újszerű ELITE Xbox One Kontroller Series 2
- magyar billentyűzet - 173 - Lenovo Legion Pro 7 (16IAX10H) - Intel Core U9 275HX, RTX 5080
- Samsung Galaxy A34 5G / 6/128GB / Kártyafüggetlen / 12Hó garancia
- Gamer PC-Számítógép! Csere-Beszámítás! R5 5500 / RX 6700XT 12GB / 32GB RGB DDR4 / 1TB SSD
- ÚJ BONTATLAN Apple Macbook Air 15,3 M4 10C CPU/10C GPU/16GB/256GB - Silver - HUN- MW1G3MG/A 3 év gar
- Xiaomi Redmi Note 14 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest


