Witam
Czy mógłby mi ktoś sprawdzić, czy moje komenarze są w miare poprawne.
Niestety nie robiliśmy tego na informatyce w szkole.
Za każda treść merytoryczna jestem wdzięczny :)
/*Napisz program, który przepisujac wejscie na wyjscie -będzie zastępować jednym znakiem odstepu
każdy ciąg złożony z jednego lub kilku takich znaków*/
// Nazwe pliku tekstowergo z, którego chcemy wczytac dane podaje użytkownik
#include <iostream>
#include <fstream>
#include <string> // funkcja c_str()
#include <cstdlib> // funkcja pause
using namespace std;
int main()
{
/*Napisz program, który z wejścia na wyjscie przepisuje ciagi znakow bez powtórzen*/
// Np dla słowa aaabccd wypisze abcd
// Plik z danymi do przetworzenia podaje użytkownik
#include <iostream>
#include <fstream>
#include <string> // funkcja c_str()
using namespace std;
int main()
{
string nazwapliku;
char znakzapamietany; // zapamiętuje znak wcześniejszy
char znak; //znak wczytany z pliku tekstowego
cout << "Podaj nazwe pliku, z którego chcesz wczytac dane " << endl;
cin >> nazwapliku;
ifstream plik(nazwapliku.c_str());
//Sprawdzam czy poprawnie otworzyłem plik tekstowy
if(!plik)
{
cout<<" Nie udalo mi się otworzyc pliku " << endl;
}
else
{
plik >> noskipws; // Nie pomijam białych znaków
plik >> znak;
plik >> znakzapamietany;
//Wczytuje dane znak po znaku aż do końca pliku
while( !plik.eof() )
{
// gdy znak wcześniejszy i aktualnie wczytany jest sobie rowne
if((znakzapamietany == znak))
{
// przesuniecie wskaźnika z wczytwanie o kolejny znak
plik >> noskipws;
plik >> znak;
}
// gdy oba znaki sa rozne
else
{
znakzapamietany = znak;
cout << znak;
plik >> noskipws;
plik >> znak;
}
}
}
return 0;
}