Professional Documents
Culture Documents
Zad. 1.1
Zadeklarować tablicę A N-elementową (N=10) o elementach całkowitych (int).
Wypełnianie tablicy
a) wczytywanie zdanych z klawiatury
b) generowanie liczb wg. wyrażeń arytmetycznych (np. A[i]=2*i, A[i]=i*10+1, itp.)
c) losowanie danych do tablicy
d) wyświetlanie danych w 1 wierszu
e)wyświetlanie danych w 1 kolumnie
f) wyświetlanie danych w 1 kolumnie z nazwą tablicy i indeksem (. A[0]=1, A[1]=3, itp)
g) Wypełnianie tablicy liczbami parzystymi począwszy od 2.
h) Wypełnianie tablicy liczbami nieparzystymi począwszy od 1
i) Wypełnianie liczbami pseudolosowymi z przedziału <a, b>
j) Policzyć sumę elementów tablicy
k) Policzyć średnią elementów tablicy
Zad. 1.3
Zadeklarować tablicę A N- elementową (N=10) o elementach rzeczywistych, Wczytać dane.
a) Wyznaczyć wartość maksymalną
b) wartość maksymalną modułu elementów tablicy
c) Wyznaczyć wartość minimalną
d) oblicz średnią z liczb np.>0.5
Zad. 2.1
Utworzyć dynamiczną tablicę N-elementową o elementach całkowitych (int).
a) wczytać rozmiar N
Wypełnianie tablicy
b) wczytywanie zdanych z klawiatury
c) wyświetlanie danych w 1 wierszu (przez indeks)
d) wyświetlanie danych w 1 kolumnie (przez adres i indeks)
e) wyświetlanie danych w 1 kolumnie (przez wskaźnik)
f) za pomocą wskaźnika znaleźć pierwszy element większy od 10
g) za pomocą (adres i indeks) i (pw>10 punkt f.) znaleźć minimalny element tablicy większy od 10
Zad. 2.2
Zadeklarować i wypełnić tablicę dynamiczną. Wylosować dane. (użyć adresu i/lub wskaźnika tablicy,
wyniki też przekazać do wskaźników)
a)wyznaczyć sumę elementów
b) wyznaczyć średnią elementów
c) wyznaczyć ilość elementów parzystych
Wyszukiwanie liniowe/sekwencyjne
Wyszukiwanie liniowe ( ang. linear search ), zwane również sekwencyjnym polega na przeglądaniu
kolejnych elementów zbioru Z.
Jeśli przeglądany element posiada odpowiednie własności (np. jest liczbą o poszukiwanej wartości ), to
zwracamy jego pozycję w zbiorze i kończymy. W przeciwnym razie kontynuujemy poszukiwania aż do
przejrzenia wszystkich pozostałych elementów zbioru Z.
Wejście:
n – liczba elementów w tablicy Z, n ∈ N.
Wyjście:
Pozycja elementu zbioru Z o kluczu k lub -1 w przypadku nie znalezienia elementu.
Zmienne pomocnicze:
i – przebiega przez kolejne indeksy elementów Z. i ∈ C.
Lista kroków:
K01: Dla i = p, p + 1, ..., n - 1: przeglądamy kolejne elementy w zbiorze
wykonuj K02
K02: Jeśli Z [ i ] = k, jeśli napotkamy poszukiwany element, zwracamy jego pozycję
to zakończ z wynikiem i
K03: Zakończ z wynikiem -1 jeśli elementu nie ma w tablicy, zwracamy -1
z.3.1 WL
Program odczytuje z pierwszego wiersza liczbę n. Z następnych n wierszy odczytywane jest n danych
całkowitych. W ostatnim wierszu odczytywana jest liczba k, którą należy wyszukać wśród podanych n liczb.
Program wypisuje numer pozycji w odczytanym ciągu liczb, na której znajduje się liczba k lub -1, jeśli liczby
nie odnaleziono.
#include <iostream>
//#include <time>
#include <ctime>
#include <cstdlib>
delete [ ] D;
return 0;
}
Pytania
Jeżeli klucz jest unikalny to pozycja jest jednoznaczna.
Jeżeli klucz nie jest unikalny (jest więcej niż jeden element k) to która pozycja jest zwracana?
z.3.2 WL.
a) Zmodyfikować program z.3.1, tak aby zwracał pierwsze wystąpienie (pierwszą pozycję) klucza.
b) Zmodyfikować program, tak aby wyświetlał elementy tablicy (wiersz lub kolumnie) oraz oznaczył
wartość klucza za pomocą strzałki „>” lub gwizdki „*”.
c) Zmodyfikować program, tak aby zwracał wszystkie pozycje klucza.
d) Zmodyfikować program, tak aby zwracał ostatnią pozycje klucza, wyszukanie zacząć od końca tablicy.
e) Zmodyfikować program, tak aby zwracał pierwsze wystąpienie (pierwszą pozycję) klucza w pierwszej
połowie tablicy.
f) Zmodyfikować program, tak aby zwracał pierwsze wystąpienie (pierwszą pozycję) klucza w drugiej
połowie tablicy
z.3.3 WL
Zadeklarować tablicę A N-elementową (N=10) o elementach całkowitych (int), wylosować liczby z zakresu
<-10,+10>.
a) Wyszukać pozycję klucza. Kluczem jest max.
b) Wyszukać pozycję klucza. Kluczem jest min
c) Wyszukać pozycję klucza. Kluczem jest min_dod (najmniejsza wartość dodatnia)
d) Wyszukać pozycję klucza. Kluczem jest min_parz_dod (najmniejsza wartość dodatnia)
e) Wyszukać pozycję klucza. Kluczem jest np1 (pierwsza nieparzystą liczba w tablicy)
f) Wyszukać pozycję klucza. Kluczem jest np2 (druga nieparzystą liczba w tablicy)
z.3.4 WL.
Program wypełnia 100 elementową tablicę Z całkowitymi liczbami pseudolosowymi z zakresu od 0 do 9.
Następnie losuje nową liczbę pseudolosową z tego samego zakresu i znajduje wszystkie jej wystąpienia w
Z przy pomocy wyszukiwania liniowego. Na końcu wyświetla wylosowaną liczbę oraz zawartość Z z
zaznaczonymi jej wystąpieniami. Do zapamiętywania wystąpień służy druga tablica L o elementach
logicznych. Jeśli i-ty element tej tablicy zawiera true, to w i-tym elemencie tablicy Z znajduje się
poszukiwany element.
a) zmodyfikować program by wypisać wszystkie wstąpienia klucza
b) zmodyfikować program by wszystkie wstąpienia klucza w wpisać do dynamicznej tablicy P.