(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)