I znowu można jak w C, za pomocą starych struktur i metod:

Podobne dokumenty
Prawidłowa konstrukcja (3 x 4) char** tab = new char*[3]; for (size_t i = 0; i < 3; i++) tab[i] = new char[4];

Zajęcia 6 pliki tekstowe

Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu.

C++ - [3-5] Pliki i strumienie w C++

EGZAMIN MATURALNY Z INFORMATYKI POZIOM ROZSZERZONY CZĘŚĆ II MAJ 2011 WYBRANE: Czas pracy: 150 minut. Liczba punktów do uzyskania: 30 WPISUJE ZDAJĄCY

Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu.

Tablice Napisy Funkcje i procedury Pliki

Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu.

Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu.

ZBIÓR ZADAŃ Z INFORMATYKI

EGZAMIN MATURALNY Z INFORMATYKI

Zadanie 4.2. (0 3) Podaj, ile liczb w pliku liczby.txt jest podzielnych przez 2 oraz ile liczb jest podzielnych przez 8.

EGZAMIN MATURALNY Z INFORMATYKI

EGZAMIN MATURALNY Z INFORMATYKI

Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki

Pliki wykład 2. Dorota Pylak

Programowanie 3 - Funkcje, pliki i klasy

Programowanie i struktury danych

Pliki wykład 2. Dorota Pylak

EGZAMIN MATURALNY Z INFORMATYKI POZIOM PODSTAWOWY CZĘŚĆ II 11 MAJA 2018 WYBRANE: Czas pracy: 120 minut. Liczba punktów do uzyskania: 30

Programowanie w językach

INFORMATYKA Studia Niestacjonarne Elektrotechnika

EGZAMIN MATURALNY Z INFORMATYKI 19 MAJA 2015

4. Wyrzuć wyjątek jeśli zmienna ist nie istnieje bloki: try, catch i wyrzucanie wyjątku

Polcode Code Contest PHP-10.09

Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu.


Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Programowanie w C++ Wykład 11. Katarzyna Grzelak. 21 maja K.Grzelak (Wykład 11) Programowanie w C++ 1 / 24

EGZAMIN MATURALNY Z INFORMATYKI POZIOM PODSTAWOWY CZĘŚĆ II MAJ 2014 WYBRANE: Czas pracy: 120 minut. Liczba punktów do uzyskania: 30 WPISUJE ZDAJĄCY

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy,

Strumienie, pliki. Sortowanie. Wyjątki.

Strumienie, pliki. Sortowanie. Wyjątki.

EGZAMIN MATURALNY Z INFORMATYKI POZIOM PODSTAWOWY CZĘŚĆ II 13 MAJA 2019 WYBRANE: Czas pracy: 120 minut. Liczba punktów do uzyskania: 30

Pliki wykład 2 -przekazywanie strumieni do funkcji -funkcje get(char &) i getline(string)

UZUPEŁNIA ZDAJĄCY miejsce na naklejkę

(A1) ... (środowisko)

EGZAMIN MATURALNY Z INFORMATYKI

EGZAMIN MATURALNY Z INFORMATYKI

2. Zmienne i stałe. Przykłady Napisz program, który wypisze na ekran wynik dzielenia 281 i 117 w postaci liczby mieszanej (tj. 2 47/117).

Typy wyliczeniowe Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki

EGZAMIN MATURALNY Z INFORMATYKI POZIOM ROZSZERZONY CZĘŚĆ II MAJ 2014 WYBRANE: Czas pracy: 150 minut. Liczba punktów do uzyskania: 30 WPISUJE ZDAJĄCY

Zadanie 4.3. (0 5) Błąd bezwzględny przybliżonej wartości liczby pi, wyznaczonej z n punktów, definiujemy następująco:

Pliki. Informacje ogólne. Obsługa plików w języku C

EGZAMIN MATURALNY Z INFORMATYKI

Podstawowe typy zmiennych

1. Napisz program, który wyświetli Twoje dane jako napis Witaj, Imię Nazwisko. 2. Napisz program, który wyświetli wizytówkę postaci:

EGZAMIN MATURALNY Z INFORMATYKI POZIOM ROZSZERZONY CZĘŚĆ II 11 MAJA 2018 WYBRANE: Czas pracy: 150 minut. Liczba punktów do uzyskania: 30

Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu.

Program wykonujący operację na plikach powinien zachować schemat działania zapewniający poprawną pracę:

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Tablice Napisy Funkcje i procedury Pliki

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Inicjacja tablicy jednowymiarowej

Pomorski Czarodziej 2016 Zadania. Kategoria C

Ćwiczenia nr 11. Translatory. Wprowadzenie teoretyczne

EGZAMIN MATURALNY Z INFORMATYKI POZIOM ROZSZERZONY 19 MAJA CZĘŚĆ II Instrukcja dla zdającego WYBRANE: Czas pracy: 150 minut

Zestaw 1-1 Organizacja plików: Oddajemy tylko źródła programów (pliki o rozszerzeniach.cpp)!!!

Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1.

1 Strumienie. 2 Pliki. 2.1 Zapis do pliku tekstowego. Programowanie w j zyku C - Adam Krechowicz, Daniel Kaczmarski

Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu. WYBRANE: ... (środowisko) ... (kompilator) ... (program użytkowy)

Wejście wyjście strumieniowe

EGZAMIN MATURALNY Z INFORMATYKI

4. Funkcje. Przykłady

Wprowadzenie do programowania i programowanie obiektowe

n, m : int; S, a, b : double. Gdy wartości sumy składowej nie można obliczyć, to przyjąć Sij = 1.03 Dla obliczenia Sij zdefiniować funkcję.

Pliki. Informacje ogólne. Obsługa plików w języku C

EGZAMIN MATURALNY Z INFORMATYKI

PRÓBNY EGZAMIN MATURALNY Z INFORMATYKI

Ćwiczenie 8 Kolory i znaki specjalne

C++ 1 / III Zbiór zadań. Zad. 2: Jaka jest największa liczba całkowita którą można wpisać do programu?

Tablice jednowymiarowe

Języki programowania. Przetwarzanie plików amorficznych Konwencja języka C. Część siódma. Autorzy Tomasz Xięski Roman Simiński

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.

EGZAMIN MATURALNY Z INFORMATYKI POZIOM ROZSZERZONY 19 MAJA CZĘŚĆ II Instrukcja dla zdającego WYBRANE: Czas pracy: 150 minut

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Lista zadań - Relacje

Zasady programowania Dokumentacja

EGZAMIN MATURALNY Z INFORMATYKI

pobieramy pierwszą literę komunikatu i wypełniamy nią (wszystkie pozycje tą samą literą) bufor słownikowy.

Podstawy programowania w języku C++

Pytania sprawdzające wiedzę z programowania C++

Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Olimpiada O Diamentowy Indeks AGH 2017/18. Informatyka Etap III

Zestaw 1 ZESTAWY A. a 1 a 2 + a 3 ± a n, gdzie skªadnik a n jest odejmowany, gdy n jest liczb parzyst oraz dodawany w przeciwnym.

Egzamin. Arkusz II. dla. Czas pracy WYBRANE: (kompilator) ...

Kuratoryjny Konkurs Informatyczny dla uczniów gimnazjum województwa pomorskiego etap szkolny

Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu.

Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Kraków 2013

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

Operacje wejścia/wyjścia (odsłona druga) - pliki

Programowanie 2 - Tablice i łańcuchy

EGZAMIN MATURALNY Z INFORMATYKI

EGZAMIN MATURALNY Z INFORMATYKI POZIOM ROZSZERZONY CZĘŚĆ II CZERWIEC 2011 WYBRANE: Czas pracy: 150 minut. Liczba punktów do uzyskania: 30

Nazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek

Opis procedur asemblera AVR

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze

Programowanie w języku Java

PRÓBNY EGZAMIN MATURALNY Z INFORMATYKI

Transkrypt:

Obsługa plików

I znowu można jak w C, za pomocą starych struktur i metod:

Odczyt (ifstream) Zapis (ofstream) Czego tu wszędzie brakuje? plik.close();

Wynik Plik testowy.txt

app jak append http://www.cplusplus.com/reference/iostream/ifstream/ http://www.cplusplus.com/reference/iostream/ofstream/

Funkcja good() jest tutaj lepsza.

int get(); - zwraca znak ze strumienia (lub EOF jeśli skończył się plik) i konwertuje na typ integer. istream& get( char& c ); - wpisuje do c odczytany ze strumienia znak [koniec pliku należy sprawdzić przez eof() ]. istream& get( char* buf, int len, char eot = '\n' ); - pobiera ze strumienia do `buf' maksymalnie `len' znaków i aż do napotkania znaku `eot' lub do pobrania len 1 znaków. istream& getline( char* buf, int len, char eot = '\n' ); - jak powyższa get, ale znak `eot' nie jest zapisywany w `buf' istream& read( char* ptr, long len ); istream& read( void* ptr, long len ); - odczytują ze strumienia maksymalnie `len' znaków do `ptr'; istream& unget();- wstawia znak z powrotem do strumienia bool good() sprawdza czy nie zostały ustawione jakiekolwiek flagi błędów dla strumienia (eofbit, failbit and badbit).

Dokonaj normalizacji danych w pliku. Załóżmy, że plik input.txt wygląda tak: 1. Dla każdego przypadku testowego wyświetl średnią z trzeciej kolumny. 2. Znormalizuj wszystkie dane w trzeciej kolumnie do przedziału [0 1]. Normalizacja: Ymin = 0 Ymax = 1

Informatyk z firmy KompOK zapisał w pliku hasla.txt 200 haseł. Każde hasło umieszczone jest w osobnym wierszu pliku. Hasło składa się tylko z małych liter alfabetu angielskiego, zaś jego długość wynosi od 3 do 10 znaków. Wykorzystując dane zawarte w tym pliku, wykonaj poniższe polecenia. Odpowiedzi do poszczególnych podpunktów zapisz w pliku tekstowym odpowiedzi1.txt opatrując je numerem podpunktu: Pliki z danymi: www.tomaszx.pl/materialy/jpoig_dane.zip

1. Podaj, ile haseł ma parzystą, a ile nieparzystą liczbę znaków. 2. Utwórz zestawienie haseł (po jednym w wierszu), które są palindromami. 3. Utwórz zestawienie haseł (po jednym w wierszu) zawierających w sobie dwa kolejne znaki, których suma kodów ASCII wynosi 220. 4. Wypisz najkrótsze i najdłuższe hasło z pliku. Przykłady: Hasło krzysio zawiera dwa kolejne znaki si, których suma kodów ASCII wynosi 220. Kod ASCII znaku s to 115, kod znaku i to 105; suma kodów wynosi 115+105 = 220. Hasło cyrk zawiera również takie dwa kolejne znaki. Kod ASCII znaku c to 99, kod ASCII znaku y to 121; suma kodów wynosi 99+121=220

W pliku liczby.txt, w oddzielnych wierszach, znajduje się 1000 liczb zapisanych w systemie dwójkowym o długościach zapisów od 2 do 16 cyfr (0 lub 1). Napisz program, którego wykonanie da odpowiedzi do poniższych podpunktów. Odpowiedzi zapisz w pliku odpowiedzi2.txt, a każdą odpowiedź poprzedź literą oznaczającą ten podpunkt. 1. Ile jest liczb parzystych w całym pliku? 2. Jaka jest największa liczba w tym pliku? Podaj jej wartość w dwóch systemach: dwójkowym i dziesiętnym. 3. Ile liczb w całym pliku ma dokładnie 9 cyfr? Podaj sumę tych liczb w systemie dwójkowym i dziesiętnym.

Napisać program, którego zadaniem jest odczytanie danych tabelarycznych w pliku tekstowym, a następnie zapisanie ich do nowego pliku w postaci kodu HTML. Dane rozdzielone spacją. Przykład: Wejście: "Waga" "Wzrost" "BMI" "Nadwaga" 70 1,8 21,6 "NIE" 67 1,77 21,39 "NIE" 85 1,7 29,41 "TAK" 100 1,92 27,13 "TAK" Wynik: <html><body> <table> <tr><td>"waga"</td><td>"wzrost"</td><td>"bmi"</td><td>"nadwaga"</td> </tr> <tr><td>70</td><td>1,8</td><td>21,6</td><td>"nie"</td></tr> <tr><td>67</td><td>1,77</td><td>21,39</td><td>"nie"</td></tr> <tr><td>85</td><td>1,7</td><td>29,41</td><td>"tak"</td></tr> <tr><td>100</td><td>1,92</td><td>27,13</td><td>"tak"</td></tr> </table> </body></html>

Napisać funkcję przepisz, która jako pierwszy parametr otrzymuje nazwę pliku tekstowego, w którym każda linia wygląda następująco: imię*nazwisko*plec*wiek*pensja gdzie imię i nazwisko zapisane są literami alfabetu angielskiego, płeć to litera 'K' lub 'M', a wiek i pensja, to liczby całkowite dodatnie. Liczba osób zapisanych w pliku jest nieokreślona. W rezultacie jej działania powinny powstać dwa pliki wyjściowe, gdzie jeden będzie zawierał jedynie kobiety (nazwa taka sama jak pliku w przypadku wejściowego poprzedzona, literą 'k'), a drugi mężczyzn (poprzedzony literą 'm'). Jednocześnie do nowych plików należy: nie przepisywać oznaczenia płci, kobietom o wieku większym niż podany jako drugi parametr (wiek) podnieść pensję o 15%, mężczyzną podnieść pensję o tyle, ile mają lat. W wyniku działania funkcji powinien zostać zwrócony średni wiek wszystkich mężczyzn z pliku wejściowego.