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:
  1. Znajduje ostatnie wystąpienie elementu maksymalnego w tablicy n-elementowej liczb całkowitych
  2. 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.
  3. 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:
  1. Pomnoży każdy element tablicy n-elementowej liczb typu double przez zadaną liczbę.
  2. 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).
  3. 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ą.
  4. 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.