• Nie Znaleziono Wyników

Pracownia programowania (C/C++). Zaoczne inżynierskie (INK). Ćwiczenie 4.

N/A
N/A
Protected

Academic year: 2021

Share "Pracownia programowania (C/C++). Zaoczne inżynierskie (INK). Ćwiczenie 4."

Copied!
1
0
0

Pełen tekst

(1)

Pracownia programowania (C/C++). Zaoczne inżynierskie (INK). Ćwiczenie 4.

Zagadnienia: Wskaźniki funkcji. Operacje z wykorzystaniem tablic i wskaźników funkcji.

Sortowanie tablic z wykorzystaniem funkcji qsort. Łańcuchy (teksty) jako tablice znaków.

Tablice wskaźników na łańcuchy. Dynamiczne tablice na dynamiczne łańcuchy. Sortowanie tablic łańcuchów.

1. Zadeklarować typ tablicowy typedef double tx[N][2]. Opracować funkcję, która wyznacza wartości funkcji double f(double) w przedziale [min, max] dla N punktów postaci

xi = min + i*d, gdzie d=(max-min) / (N-1) oraz i=0,1,...,N-1 (N – stała). Obliczone elementy xi, f(xi) powinny być zapamiętane w tablicy T typu tx w sposób następujący: T[i][0] = xi oraz T[i][1] = f(xi). Prototyp funkcji: void oblicz(double min, double max, int n, tx T, wskaźnik_funkcji). W programie głównym wykonać obliczenia dla funkcji sin w przedziale [-pi/2, pi/2].

2. W programie głównym utworzyć dynamicznie tablicę złożoną z N elementów typu double.

Zainicjować tablicę losowymi liczbami rzeczywistymi należącymi do przedziału

[-10.2, 15.3). Wykorzystując standardową funkcję qsort opracować funkcję, która sortuje elementy tablicy rosnąco. Wyprowadzić zawartość tablicy na ekran.

3. Zdefiniować tablicę złożoną z N elementów typu char. Zainicjować tablicę losowymi znakami o kodach należących do przedziału [65,127). Wykorzystując standardową funkcję qsort opracować funkcję, która sortuje elementy tablicy według kodów ASCII. Wyprowadzić zawartość tablicy na ekran.

4. Utworzyć dynamicznie dwuwymiarową tablicę liczb typu int złożoną z m wierszy i n kolumn, gdzie m i n są wczytywane z klawiatury. Wykorzystać operator new. Adres początku tablicy zapamiętać w zmiennej int **A. Zadanie zrealizować tworząc dynamicznie tablicę złożoną z m wskaźników na dynamiczne tablice n liczb całkowitych. Zainicjować utworzone tablice losowymi liczbami całkowitymi należącymi do przedziału [-10,10].

Opracować funkcję sortującą elementy w wierszu o numerze i, gdzie 0<= i <=m.

Wyprowadzić zawartość tablicy wierszami na ekran. Przed zakończeniem programu zwolnić pamięć. Wyprowadzić stan pamięci (coreleft) przed alokacją tablicy, po alokacji oraz po zwolnieniu pamięci.

5. Zdefiniować dwuwymiarową tablicę łańcuchów char t[][20] zainicjowaną dowolnymi tekstami, np. char t[][20]={”jeden”,”dwa”,”trzy”, ... }. Opracować funkcje:

a) wyprowadzającą zawartość tablicy na ekran;

b) sortującą elementy tablicy według kodów ASCII za pomocą funkcji qsort.

6. Zadeklarować typ td określający tablicę złożoną z 20 elementów typu char. Utworzyć dynamicznie N tablic typu td, gdzie N jest stałą, i zapamiętać adres początku w zmiennej char (*T)[20]. Wczytać do utworzonych tablic N łańcuchów. Posortować łańcuchy za pomocą funkcji qsort.

(2)

7. Zdefiniować zainicjowaną tablicę wskaźników na teksty char *t[]={”Ala”,”Ola”,”Ewa”}.

Posortować elementy tablicy za pomocą funkcji qsort.

8. Utworzyć dynamicznie tablicę złożoną z n wskaźników na łańcuchy, gdzie n jest wczytywane z klawiatury, i zapamiętać adres początku tablicy w zmiennej char **wt.

Wczytywać łańcuchy z klawiatury do bufora. Dla każdego wczytanego łańcucha przydzielić dynamicznie pamięć na stercie i przekopiować zawartość bufora w przydzielony obszar pamięci. Adres początku łańcucha wpisać do elementu wt[i], i=0,1,...,n-1. Posortować elementy tablicy za pomocą funkcji qsort.

Cytaty

Powiązane dokumenty

Napisz program, który w opcjach wyświetla menu, pozwala na wybór dowolnej czynności 3.1-3.3 i dowolna liczbę razy pozwala je powtórzyć oraz na Ŝądanie kończy

Funkcja moŜe otrzymać przez listę parametrów tablice oraz liczbę elementów, natomiast powinna zwracać przez wynik.. (return) nowa

Wyprowadzić współrzędne znalezionych punktów na ekran w trybie graficznym... Zdefiniować N - elementową tablicę wskaźników na struktury typu struct tosoba { char naz[20];

b) usunięcie elementu z początku kolejki (wierzchołka stosu); zwolnić pamięć, zmodyfikować wskaźnik początku kolejki (stosu); prototyp funkcji void Usun(pnode &amp;pocz,

c) usunięcie elementu o podanej wartości klucza (zadanie dla chętnych); funkcja powinna odnaleźć element, zmodyfikować strukturę drzewa, a następnie zwolnić

e) wstawiającą, pomiędzy istniejące dane, nową daną na zadanej pozycji w pliku o podanej nazwie; prototyp: void Fwstaw (FILE *f, char *nazwa, long poz, const tosoba *r);. f)

W programie głównym umieścić plik nagłówkowy oraz wywołania trzech funkcji oblicza- jących sumę liczb. Utworzyć projekt umożliwiający kompilację programu wielomoduło- wego.

We współrzędnych sferycznych energia potencjalna staje się po prostu funkcją r, trudniejsza sprawa jest z członem hamiltonianu odpowiadającym energii