Lista 5 -- Wstęp do informatyki, W. Hebisch
Zadanie 1
Wzorując się na podanym przykładzie funkcji znajdującej maksimum
napisać funkcję która:
- Znajduje ostatnie wystąpienie elementu maksymalnego
w tablicy n-elementowej liczb całkowitych
- W tablicy n-elementowej liczb całkowitych znajduje
pierwsze miejsce gdzie występuje liczba k. Funkcja ma
zwrócić to miejsce (indeks) lub -1 jeśli takiej liczby nie
ma w tablicy.
- W tablicy n-elementowej liczb całkowitych znajduje
ostatnie miejsce gdzie występuje liczba k. Funkcja ma
zwrócić to miejsce (indeks) lub -1 jeśli takiej liczby nie
ma w tablicy.
Sprawdzić doświadczalnie działanie każdej z funkcji!
Zadanie 2
Napisać funkcję która:
- Pomnoży każdy element tablicy n-elementowej liczb typu
double przez zadaną liczbę.
- Przesunie o k pozycji w prawo elementy tablicy n-elementowej
liczb całkowitych. Elementy na początku tablicy zastąpić zerami.
Wynik ma zastąpić (zniszczyć) tablicę wejściową.
Przyjąć że k jest nieujemne (nie sprawdzać tego).
- Tablicę liczb całkowitych długości n zastąpi
tablicą sum bieżących, tzn. na pozycji k ma
się znaleźć suma liczb od początku tablicy do k
włącznie. Wynik ma zastąpić (zniszczyć) tablicę
wejściową.
- Obliczy ilość niezerowych elementów w tablicy n-elementowej
liczb całkowitych.
Zadanie 3
Przerobić program z zadanie 1 z listy 3, tak by używał operacji
bitowych (& i >>) do wyodrębniania cyfr liczby (zrobić to
dla podstaw 2 i 16, dla podstawy 10 trzeba używać arytmetyki).
Zadanie 4
Napisać funkcję która odczyta z klawiatury liczbę w postaci
dwójkowej i zwróci jej wartość. Liczbę odczytywać znak po
znaku przy pomocy funkcji getchar().
Zadanie 5
Ręcznie obliczyć (zamieniając na układ dwójkowy) następujące
wyrażenia: 11&5, 11|5, 11^5, 11&(3<<2), 1|(1<<3). Sprawdzić
wynik przy pomocy komputera.