Pliki i strumienie - Zadania

  1. Napisz program kopiujący zawartość pliku do innego pliku
  2. Napisz program, który do pliku zapisze N wygenerowanych liczb losowych z przedziału '[A,B]'. Nazwę pliku wynikowego oraz wartości A, B, i N podaje użytkownik
  3. Napisz program, który wyświetli na ekranie wszystkie komentarze z podanego pliku źródłowego w języku C
  4. Napisz program, który wyświetli na ekranie najdłuższy wyraz z podanego pliku tekstowego.
  5. Napisz program, który wyświetli częstość występowania wszystkich liter alfabetu w podanym pliku tekstowym.
  6. Napisz program, który wyświetla tekst zawarty w pliku HTML pomijając wszystkie tagi, tzn. wyrażenia postaci <pewien tekst>.
  7. Napisz program porównujący dwa pliki znak po znaku. W przypadku pojawienia się pierwszej różnicy program kończy działanie wypisując wartość różniących się bajtów i ich pozycję w pliku (podobnie jak polecenie powłoki Unix/Linux cmp)
  8. Napisz program porównujący dwa pliki linia po linii. Przy napotkaniu pierwszej różniącej się linii program przerywa swoje działanie wypisując różniące się wiersze.
  9. Napisz program, który z pliku wyświetli tylko te linie w których znajduje się pewien wzorzec (podobnie do polecenia grep).
  10. Napisz program wyznaczający wartość średnią wszystkich liczb rzeczywistych zapisanych w pliku. Zakładamy, że plik zawiera wyłącznie liczby w postaci tekstowej odseparowane białymi znakami.
  11. Napisz program, który połączy pomiary zawarte w dwóch plikach. Pomiary zapisane są w postaci tekstowej w rosnącej kolejności, po jednej liczbie w każdym wierszu. Wynikowy plik powinien zawierać wszystkie liczby z obu plików ułożone w rosnącej kolejności. Program powinien działać dla dowolnie dużych plików, przekraczających rozmiarem nawet ilość pamięci operacyjnej.
  12. Załóżmy, że pewien plik zawiera w postaci tekstowej bazę danych medycznych, gdzie w pojedynczej linii zapisane są następujące informacje: nazwisko (nie dłuższe niż 20 znaków), imię (nie dłuższe niż 20 znaków), następnie umieszczona jest liczba całkowita określająca wiek a następnie dwie liczby rzeczywista określające wzrost i wagę. Np.:
    Bond James 33 199.5 85.5
    Załóżmy, że plik nie zawiera więcej niż 1000 takich wpisów.
    • Napisz program, który wyświetli na ekranie w kolejnych liniach imię, nazwisko i współczynnik masy ciała BMI każdego badanego. Dla pacjentów z nadwagą lub niedowagą wyświetlany jest dodatkowo komunikat o przekroczeniu normy.
    • Napisz program, który wyznaczy średnią wagę i średni wzrost dla wszystkich pacjentów powyżej 30 roku
    • Napisz program, który wyświetli wpisy w porządku rosnącej wagi ciała
    • Napisz program, który wyświetli wpisy w porządku alfabetycznym względem nazwisk
  13. Napisz program realizujący prostą bazę danych studentów. Pojedynczy rekord zawiera imię, nazwisko, numer indeksu i średnią z ocen. Program powinien umożliwiać:
    • dodanie nowego rekordu do bazy
    • wyświetlenie na ekranie wszystkich rekordów
    • zapisanie całej bazy do pliku
    • odczyt bazy z pliku
  14. Napisz program szyfrujący i deszyfrujący tekst zawarty w podanym pliku. Program pobiera nazwę pliku do zaszyfrowania, nazwę pliku do którego zapisze zaszyfrowany tekst oraz słowo-klucz. Komunikat zaszyfrowany przy pomocy danego klucza powinien być możliwy do odszyfrowania wyłącznie po podaniu takiego samego słowa-klucza. Obmyśl samodzielnie algorytm szyfrowania, lub wykorzystaj dowolny znany Ci algorytym lub jego modyfikację (np. szyfr Cezara)