Merhaba yarın ihtiyaç duyduğum algoritma sorusu var. Fakat yapamadım yardımcı olur musunuz? Algoritma örneklerini genelde çözüyorum fakat bu nedense beni zorladı. Yardımlarınızı bekliyorum.
Bir program bir metin dosyasından her seferinde tek satır okuyor. Okunan satır bellekte saklanıyor. Okunan satır sayısı 51 olduğunda okunan 50 satır, okudunduğu sıra ile ekrana yazdırılmaktadır. Yazdırma işlemi sona erince okuma işlemine geri dönmekte ve 51, 52, 53... satırlar okunmaya başlanmaktadır. Progaram yeniden bir 50 satır okuyup yine okuduğu bu elli satıra aynı sıra ile ekrana yazdırıyor. Bu programın algoritması..
Algoritma konusunda yardım
5
●257
- 20-03-2019, 21:25:28
- 20-03-2019, 21:38:28her okunanı diziye at sonra diziyi yazdır her 50 de bir bu işlemi yap
- 20-03-2019, 22:02:32hocam bunu algoritma şeklinde yaniTheAvenqer adlı üyeden alıntı: mesajı görüntüle
1-başla
2- tanımla
3
4
.
.
.
şeklinde nasıl yazabilirim? Bellekte tutma olayı kafamı karıştırdı, ve satırların hepsini tek tek kaybetmeden nasıl tutabilirim - 20-03-2019, 22:56:33Hangi dilde yapmaya çalışıyorsunuz?karakaya26 adlı üyeden alıntı: mesajı görüntüle
- 20-03-2019, 23:03:55karakaya26 adlı üyeden alıntı: mesajı görüntüle
#include <iostream> #include <fstream> #include <vector> using namespace std; int main() { ifstream file; file.open("input.txt"); if (!file) { cout << "input acilamadi!" << endl; return 1; } string inData; vector <string> dizi; /* belleğe alınan veriler temizlenmesin istersen int l = 1; do { getline(file, inData); dizi.push_back(inData); if (dizi.size() == 50 * l) { for (int i = (l == 1 ? 0 : 50 * (l-1)); i < dizi.size(); i++) { cout << dizi.at(i) << endl; } ++l; } } while (file); */ do { getline(file, inData); dizi.push_back(inData); if (dizi.size() == 50) { for (auto satir : dizi) cout << satir << endl; dizi.clear(); } } while (file); file.close(); cin.ignore(); return 0; }
