Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Odwrotne liczby
- #include <iostream>
- #include <fstream>
- using namespace std;
- int main() {
- ifstream plikIn("L8_F0_Z1a.dat", ios::binary);
- if(!plikIn) {
- cout << "Plik wejsciowy nie otwarty\n";
- return 0;
- }
- ofstream plikOut("L8_F0_Z1b.dat", ios::binary);
- if(!plikOut) {
- cout << "Plik wyjsciowy nie otwarty\n";
- return 0;
- }
- int liczba;
- plikIn.seekg(0, ios::end) ; // przejdź na koniec pliku
- int lenPlik = plikIn.tellg(); // sprawdź wielkość pliku
- // wartość lenPlik powinna być wielokrotnością sizeof(int)
- lenPlik /= sizeof(int); // ilość liczb w pliku
- while(lenPlik>0) {
- lenPlik--;
- plikIn.seekg(lenPlik*sizeof(int), ios::beg);
- plikIn.read( reinterpret_cast<char*>(&liczba), sizeof(int) );
- plikOut.write( reinterpret_cast<char*>(&liczba), sizeof(int) ); // zapisz liczbę do drugiego pliku
- }
- plikOut.close();
- plikIn.close();
- return 0;
- }
- Podwajanie kazdej liczby
- #include <iostream>
- #include <fstream>
- using namespace std;
- int main() {
- fstream plik("L8_F0_Z2.dat", ios::binary|ios::in|ios::out);
- if(!plik) {
- cout << "Plik nie otwarty\n";
- return 0;
- }
- plik.seekg(0, ios::end); // sprawdzenie długości pliku
- int lenPlik = plik.tellg()/sizeof(int); //liczba liczb w pliku
- int liczba;
- for(int i=0; i<lenPlik; i++) {
- plik.seekg(i*sizeof(int), ios::beg);
- plik.read( reinterpret_cast<char*>(&liczba), sizeof(int) );
- liczba = 2*liczba;
- plik.seekp(i*sizeof(int), ios::beg); //ustawiamy głowicę w to samo miejsce
- plik.write( reinterpret_cast<char*>(&liczba), sizeof(int) ); //wpisujemy liczbę
- }
- plik.close();
- return 0;
- }
- Litery na liczby
- #include <iostream>
- #include <fstream>
- using namespace std;
- int main() {
- ifstream plik("L8_F0_Z3.txt");
- if(!plik) {
- cout << "Plik wejsciowy nie otwarty\n";
- return 0;
- }
- int cntTab[128];
- for(int i=0; i<128; i++)
- cntTab[i] = 0;
- char znak;
- while(plik>>znak) {
- if(0<=znak && znak<128)
- cntTab[static_cast<int>(znak)]++;
- }
- plik.close();
- for(int i='a'; i<='z'; i++)
- cout << "Litera " << static_cast<char>(i)
- << " wystepowala " << cntTab[i] << "raz(y)\n";
- for(int i='A'; i<='Z'; i++)
- cout << "Litera " << static_cast<char>(i)
- << " wystepowala " << cntTab[i] << "raz(y)\n";
- for(int i='0'; i<='9'; i++)
- cout << "Liczba " << static_cast<char>(i)
- << " wystepowala " << cntTab[i] << "raz(y)\n";
- return 0;
- }
- Tablice dynamiczne
- #include<iostream>
- using namespace std;
- struct punkt{
- double x;
- double y;
- };
- int wypisz(punkt *wskp){
- cout << wskp->x << " " << wskp->y << endl;
- return 0;
- }
- int wypisz_tab(punkt *wskp, int liczba){
- for(punkt *temp = wskp; temp < wskp + liczba; temp++)
- wypisz(temp);
- return 0;
- }
- int main(){
- punkt *tab;
- tab = new punkt[3];
- tab[0].x = tab[0].y = 0;
- (*(tab+1)).x = 1;
- (*(tab+1)).y = 2;
- (tab+2)->x = 4;
- (tab+2)->y = 6.5;
- wypisz_tab(tab,3);
- delete[] tab;
- return 0;
- }
- Drzewo genelagoiczne
- struct czlowiek{
- char nazwisko[30];
- char imie[30];
- char PESEL[12];
- struct czlowiek *ojciec;
- struct czlowiek *dzieci[10];
- };
- void wypisz(czlowiek x){
- cout << x.nazwisko << " " << x.imie << " " << x.PESEL << endl;
- if(x.ojciec) cout << x.ojciec->imie << endl;
- for(czlowiek **y = x.dzieci; *y; y++)
- cout << (*y)->imie << " ";
- cout << endl;
- }
- int main(){
- czlowiek x = {"Nazwisko", "Nieznane", "12272900001", NULL, {NULL}};
- czlowiek dzieci[3] = {{"Nazwisko", "Jan", "12272900002", &x, {NULL}},
- {"Nazwisko", "Stanislaw", "12272900003", &x, {NULL}},
- {"Nazwisko", "Anna", "12272900004", &x, {NULL}} };
- x.dzieci[0] = dzieci;
- x.dzieci[1] = dzieci + 1;
- x.dzieci[2] = dzieci + 2;
- wypisz(dzieci[2]);
- wypisz(x);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement