(Microsoft PowerPoint - L.02. Powt\363rka z programowania. Tablice

Transkrypt

(Microsoft PowerPoint - L.02. Powt\363rka z programowania. Tablice
Programowanie w C/C++
Tablice, wskaźniki
powtórka
LABORKA © Piotr Ciskowski
zadanie 1. Sumy w wierszach/kolumnach
•
Napisz program
– wczytujący tablicę liczb całkowitych o n wierszach i m kolumnach,
– obliczający sumy wyrazów w wierszach oraz sumy wyrazów w kolumnach
– oraz wyprowadzający obliczone sumy wraz z numerem wiersza/kolumny.
•
Wczytywanie i wyświetlanie macierzy powinno być realizowane w osobnych funkcjach
(odpowiednio czytaj_tab i pisz_tab), przyjmujących za parametry tablicę oraz jej wymiary.
•
Niech program używa statycznej dwuwymiarowej tablicy liczb
– tablicy o stałym rozmiarze, z której używać będziemy tylko n wierszy i m kolumn
(tyle, ile zażyczy sobie użytkownik)
zadanie 2. Daleko od średniej
•
Napisz funkcję, która
– w tablicy jednowymiarowej znajduje wartość elementu najbardziej odległą od średniej
– i podaje wszystkie pozycje, na których ten element się znajduje
•
Funkcja ma zwracać wartość tego elementu,
a jako parametry ma przyjmować:
– tablicę liczb całkowitych x,
– liczbę elementów tej tablicy,
– tablicę pozycji, na których ten element występuje – to ma zmienić
– liczbę elementów tablicy pozycji
– to też ma zmienić
•
Funkcja powinna składać się z trzech części:
– obliczenie średniej liczb w tablicy
– znalezienie wartości elementu najbardziej odległego od średniej
– wypełnienie tablicy pozycji
z jednoczesnym(!) zwiększeniem zmiennej przechowującej jej rozmiar
•
W programie należy zadeklarować odpowiednie tablice,
wypełnić je dowolnymi, acz przemyślanymi wartościami i sprawdzić działanie funkcji.
zadanie 2. Daleko od średniej
•
Przykład działania programu:
Tablica zawiera następujące liczby:
0 :
1
1 :
5
2 :
5
3 :
5
4 :
5
5 :
6
6 :
6
7 :
5
8 :
1
9 :
6
10 :
5
11 :
5
12 :
1
Element najbardziej odległy od średniej ma wartość
i występuje na pozycjach:
0 8 12
Naciśnij coś...
1
zadanie 3. Konwersja typów
•
Napisz dwie funkcje, które będą zwracać w wyniku
sumę elementów tablicy liczb rzeczywistych
przekazanej w argumencie, razem z rozmiarem tablicy.
•
Pierwsza funkcja niech obsługuje tablice jednowymiarowe.
- niech przyjmuje wskaźnik do początku tablicy (wskaźnik na float)
oraz wymiar tablicy (liczbę elementów).
Druga niech obsługuje tablice dwuwymiarowe
- niech przyjmuje wskaźnik do początku tablicy (wskaźnik na float)
oraz wymiary tablicy (liczbę wierszy i liczbę kolumn).
•
•
W pierwszej funkcji zastosuj notację tablicową, w drugiej wskaźnikową.
•
•
•
Napisz program testujący te funkcje.
Zdefiniuj w programie tablicę jednowymiarową, wypełnij czymś i prześlij do pierwszej funkcji.
Zdefiniuj tablicę dwuwymiarową, wypełnij
i prześlij do drugiej funkcji (z użyciem konwersji typów)
zadanie 4. Rozstrzeliwanie łańcuchów
•
Napisz program
– inicjujący dwa łańcuchy znaków,
– po czym wyświetlający te łańcuchy ze spacjami pomiędzy literami.
•
Rozstrzeliwanie łańcuchów zrealizuj w dwóch funkcjach:
– pierwsza niech się odnosi do łańcucha tablicowo,
– druga wskaźnikowo.
•
Na końcu niech program
– skopiuje pierwszy tekst do innego łańcucha
i dołączy do niego drugi napis.
– I niech jeszcze poda informację o długości tego tekstu przed i po dołączeniu.
zadanie 5. Usuwanie znaków
•
•
Napisz program inicjujący łańcuch znaków,
a następnie usuwający z niego zadany znak (przy pomocy funkcji (jej parametry: łańcuch, znak))
Pętlę usuwającą znaki staraj się napisać jak najzwięźlej
zadanie 6. Miesiące
•
Napisz program, który wyświetli po kolei nazwy kolejnych miesięcy
•
Program powinien korzystać z funkcji (pobierającej numer miesiąca, a zwracającej łańcuch),
w której będzie zadeklarowana statyczna tablica wskaźników,
zainicjowana łańcuchami – nazwami kolejnych miesięcy
i napisem np. „zły miesiąc”
(zwracanym w razie potrzeby)