Wejściówka na lab. 2

Napisz program szyfrujący tekst wprowadzany przez użytkownika. W tym celu przygotuj tablicę kwadratową A o wymiarze 5 na 5 przechowującą wartości typu char, oraz tablicę jednowymiarową B, przechowującą wskaźniki do zmiennych typu char. Do tablicy B wpisz wartości NULL, a do tablicy kwadratowej A wpisz litery alfabetu (z pominięciem liter zawierających znaki diakrytyczne), np. tak:

a f k p w
b g l r x
c h m s y
d i n t z
e j o u  

Następnie wczytaj od użytkownika ciąg znaków reprezentujący dowolny napis składający się ze znaków z tablicy A, którego długość nie jest większa niż długość tablicy jednowymiarowej B (zakładamy przy tym, że dane wprowadzane przez użytkownika są zawsze poprawne co do ich wartości i rozmiaru). Przyjmij, że zdarzeniem oznaczającym koniec wprowadzania napisu jest wciśnięcie przez użytkownika „Enter”. Po wprowadzeniu każdej kolejnej litery znajdź w tablicy A komórkę, przechowującą tę literę, po czym adres znalezionej komórki w A zapisz w kolejnej komórce tablicy B. Po zakończeniu wpisywania tablica B powinna zawierać wskaźniki do odpowiednich komórek tablicy A z kolejnymi literami wprowadzonego napisu.

Wypisz w oknie konsoli napis podany przez użytkownika korzystając z tablicy B, tj. za pomocą wskaźników z B sięgaj do odpowiednich komórek w A i wypisz ich zawartość kolejno na ekranie.

Następnie zaszyfruj wiadomość poprzez przestawienie wartości w wierszach tablicy A. Przykładowe przestawienie to przesunięcia wartości: z wiersza 1 do 2, z 2 do 3, z 3 do 4, z 4 do 5, a z 5 do 1, np. tak:

e j o u  
a f k p w
b g l r x
c h m s y
d i n t z

Po przestawieniu wierszy ponownie wypisz w oknie konsoli napis korzystając ze wskaźników z tabeli B.

Na koniec przywróć w tablicy właściwy porządek wierszy i jeszcze raz korzystając z tablicy B wypisz napis, tym razem w postaci odszyfrowanej.

Przetestowany, działający program (tylko plik z kodem źródłowym) uploaduj do moodle jako rozwiązanie zadania „Wejściówka” zajęć nr 2, tak aby na początku zajęć można go było szybko pobrać z moodle, skompilować i zademonstrować działanie.

Rekrutacja do grup laboratoryjnych

  1. Składy grup na zajęciach laboratoryjnych z PO pozostają takie, jak zostały ustalone w usosie dla semestru zimowego.
  2. Liczba osób w grupie powinna być nie większa, niż liczba sprawnych stanowisk komputerowych w pracowni komputerowej.
  3. Osoby z II lub III roku, które powtarzają PO, powinny rekrutować się do grupy utworzonej specjalnie dla nich lub do innej, wskazanej przez Dziekanat (szczegółowych informacji na ten temat udziela Dziekanat). Gdyby zdarzyło się, że we wskazanej grupie brakuje już wolnych stanowisk, to osoby te muszą szukać miejsc w pozostałych grupach, jednak przy założeniu, że muszą ustąpić pierwszeństwa osobom już zapisanym do danej grupy w usosie. Po znalezieniu sobie grupy osoby powtarzające PO mają obowiązek niezwłocznie poinformować o tym Dziekanat.
  4. Uwaga: nieobecność na pierwszych zajęciach może sprawić, że zaistnieje wolne stanowisko komputerowe, które może zostać zajęte przez chętnego. W tej sytuacji osoba zapisana, ale nieobecna, traci swój priorytet. Dlatego jeżeli ktoś z powodów obiektywnych nie może uczestniczyć w pierwszych zajęciach swojej grupy, musi skontaktować się (skutecznie!) ze swoim prowadzącym ćwiczenia jeszcze przed zajęciami (np. za pomocą poczty elektronicznej) i poinformować go o nieobecności, aby zarezerwował miejsce. Na następnych zajęciach należy prowadzącemu dostarczyć dokument potwierdzający niemożność uczestniczenia w pierwszych zajęciach, np. zwolnienie lekarskie. Oczywiście nie zwalnia to z obowiązku zaliczenia tych zajęć w innym terminie w innej grupie.
  5. Przechodzenie ze swojej grupy usosowej do innej jest zabronione.
  6. Osoby, które – mimo zasady nr 5. – będą próbowały zmienić grupę, mają najniższy priorytet: muszą ustąpić wszystkim miejsca, zarówno osobom zapisanym w usosie, jak i osobom powtarzającym PO. Jeżeli po zastosowaniu zasady najniższego priorytetu okaże się, że nadal pozostaje w pracowni wolne stanowisko komputerowe, które można zająć, niezbędna jest jeszcze zgoda prowadzącego. Ma on zawsze prawo odmówić, choćby np. dla zachowania podobnych warunków pracy w grupach poprzez zachowanie podobnych liczb studentów.