You are on page 1of 2

ZAP 1 2023/24

Przykładowe zadania na sprawdzianie nr 3


UWAGA: We wszystkich zadaniach należy zdefiniować odpowiednie
funkcje i wykorzystać je dwukrotnie. Należy też zastosować tablice
dynamiczne.

1. Napisać program, który dla tablicy znaków a [W][K] (W,K – zmienne wczytane od
użytkownika) drukuje indeksy tych kolumn, które mają więcej małych liter niż kolumna
poprzedzająca, zaś dla tablicy b [W][K] drukuje indeksy tych kolumn, które mają więcej cyfr
(traktowanych jako znaki) niż kolumna poprzedzająca. Tablice należy przedtem wczytać
z przygotowanych wcześniej plików, odpowiednio we1.txt i we2.txt (przyjąć, że w plikach jest
dostatecznie dużo danych).

2. Napisać program, który wczytuje nazwę pliku i z pliku tego wczytuje liczby rzeczywiste
najpierw do tablicy a [W][K] (W,K-zmienne wczytane od użytkownika), a potem do b [W]
[K]. Plik trzeba wcześniej przygotować, a jeśli danych będzie za mało, uzupełnić miejsca w
tablicy stałą C. Następnie drukuje obie tablice z dokładnością 1 miejsca po przecinku, a
potem w tablicy a przesuwa cyklicznie w dół te kolumny, które zaczynają się liczbą
ujemną, zaś w tablicy b przesuwa cyklicznie w dół te kolumny, które zaczynają się liczbą
mniejszą od stałej G, po czym ponownie drukuje obie tablice. Na koniec drukuje
informację, w której tablicy przesunięto więcej kolumn.

3. Napisać program, który tablicę a[N][N] (N-zmienna wczytana od użytkownika) wypełnia


na obwodzie i na obu przekątnych zerami, a pozostałe miejsca wypełnia liczbami
losowymi całkowitymi z zakresu <X, Y> (X, Y - stałe), zaś tablicę b[N][N] wypełnia na
obwodzie i na obu przekątnych jedynkami, a pozostałe miejsca wypełnia liczbami
losowymi całkowitymi z zakresu <-15, 10>, po czym drukuje obie tablice wierszami.
Następnie w każdym wierszu każdej tablicy sumę dodatnich elementów między obiema
przekątnymi w tym wierszu wpisuje na miejsce krańcowych elementów tego wiersza. Na
koniec tablicę a zapisuje wierszami do pliku t1.cpp, a tablicę b do pliku t2.cpp.

4. Napisać program, który w tablicy liczb całkowitych a [W][K] (W,K - zmienne wczytane od
użytkownika) zamienia miejscami wartości w 6 wylosowanych parach komórek, o ile obie
wartości do zamiany są podzielne przez 3, zaś w tablicy b [W][K] zamienia miejscami
wartości w 4 wylosowanych parach komórek, o ile obie wartości są parzyste (parę
komórek do zamiany należy losować z odpowiedniego zakresu jako dwie pary indeksów).
Tablice należy przedtem wczytać z plików odpowiednio pa.txt i pb.txt; uzupełnić tablice
stałą POCZ, gdyby danych w plikach było za mało. Wydrukować tablice wierszami przed i
po zamianie.

5. Wczytać liczby całkowite m, n, wymusić, by były dodatnie oraz m<10 i n<7, a następnie
wczytać znaki do tablic dynamicznych a[m] i b[n], po czym:
• przesuwać cyklicznie o 1 miejsce w prawo tablicę a aż do uzyskania (o ile to możliwe)
sytuacji, że ostatni element w tej tablicy będzie cyfrą.
• przesuwać cyklicznie o 1 miejsce w prawo tablicę b aż do uzyskania (o ile to możliwe)
sytuacji, że ostatni element w tej tablicy będzie małą literą.
• wydrukować obie tablice przed i po tej operacji.
6. Wczytać liczby całkowite m oraz n, a następnie:
• wczytać m liczb całkowitych do tablicy jednowymiarowej dynamicznej a następująco:
liczby parzyste wpisywać od początku tablicy, liczby podzielne przez 3 – od końca
tablicy, inne liczby powinny wypełnić pozostałą część tablicy
• wczytać p liczb całkowitych do tablicy jednowymiarowej dynamicznej b następująco:
liczby podzielne przez 3 wpisywać od początku tablicy, liczby podzielne przez 5 – od
końca tablicy, inne liczby powinny wypełnić pozostałą część tablicy
• wydrukować obie tablice po tej operacji.

7. Z pliku p1.txt wczytać m danych postaci (towar, cena) do tablicy dynamicznej a, zaś z pliku
p2.txt wczytać n danych do tablicy dynamicznej b (m oraz n należy uprzednio wczytać).
Przyjąć, że w plikach jest dostatecznie dużo danych. Każdą z tablic posortować rosnąco
względem ceny metodą przez zamianę (bąbelkową). Wydrukować obie tablice przed i po
sortowaniu.

8. Z pliku tab.txt wczytać napisy nie dłuższe niż 6 znaków do tablicy dynamicznej a[n], a
następnie napisy nie dłuższe niż 5 znaków do tablicy b[p] (n, p należy uprzednio wczytać),
pomijając napisy dłuższe (założyć, że w pliku jest dosyć danych). Następnie wydrukować
informację, w której tablicy jest więcej napisów złożonych tylko z małych liter i w której tablicy
jest więcej napisów złożonych tylko z cyfr.

9. Wylosować liczby całkowite z zakresu <D, G> do tablicy a[N] (D, G, N – stałe) i wyznaczyć
średnią elementów w tej tablicy. Następnie na podstawie tej statycznej (zwykłej) tablicy a
utworzyć dwie tablice dynamiczne: tablicę b zawierającą wartości z tablicy a większe lub
równe wyznaczonej średniej oraz tablicę c - zawierającą elementy pozostałe (tablice powinny
być w całości wypełnione). Na koniec posortować każdą z tablic metodą przez wybieranie.
Wydrukować pierwotną tablicę a oraz wynikowe tablice b i c - przed i po operacji sortowania.

10. Wczytać liczby całkowite m oraz n, a następnie wylosować liczby całkowite jedno- i
dwucyfrowe do tablic dynamicznych a[m] i b[n] wymuszając w każdej tablicy, by każda kolejna
liczba w tablicy była nie mniejsza od poprzedniej (czyli należy pomijać inne losowane liczby).
Dodatkowo należy pozostawić nie wypełnione ostatnie miejsce w każdej tablicy. Wydrukować
obie tablice. Następnie wczytać dowolną liczbę całkowitą i wstawić ją do każdej tablicy w taki
sposób, aby zachować jej niemalejące uporządkowanie. Ponownie wydrukować tablice.

11. Wczytać liczby całkowite m oraz n, a następnie wylosować liczby rzeczywiste z zakresu
<A1, A2> do tablicy dynamicznej a[m] i liczby rzeczywiste z zakresu <B1, B2> do tablicy do
tablicy dynamicznej b[n]. Wydrukować obie tablice. Następnie wydrukować 2 największe liczby
z tablicy a oraz 3 największe liczby z tablicy b.

You might also like