Narzędzia użytkownika

Narzędzia witryny

A PCRE internal error occured. This might be caused by a faulty plugin

ggis:pip19lab11

====== Laboratorium nr 11. Struktury i unie ====== * Struktury, unie, typ wyliczeniowy - deklaracje i definicje, podobieństwa i różnice. * Przekazywanie struktur do funkcji - przez wartość lub przez adres. * Należy napisać część programu działającego na liczbach zespolonych. Załóżmy, że na różnych etapach obliczeń potrzebna jest raz postać algebraiczna, a raz wykładnicza tych liczb. Należy: - napisać deklaracje struktur: ''algebraiczna'' i ''wykladnicza'', - zdefiniować zmienne strukturalne odpowiedniego typu, - napisać funkcję, której parametrem (czy jedynym?) jest struktura (lub wskaźnik do struktury) ''algebraiczna'', a funkcja wyznacza moduł i argument i przekazuje wyniki zapisane w strukturze ''wykladnicza'', - w funkcji ''main'' wczytać jedną liczbę w postaci algebraicznej, wywołuje ww. funkcję i wyprowadza na ekran obie postaci. * Modyfikacja 1: - Dodajemy deklarację trzeciej struktury: ''liczba'', która zawiera dwa pola: przeznaczone dla pamiętania postaci algebraicznej oraz wykładniczej, - funkcja wyznaczająca postać wykładniczą operuje tylko na jednej strukturze ''liczba''. * Modyfikacja 2 (względem poprzedniej modyfikacji 1) - używamy unii: - W trzeciej strukturze (''liczba'') nie rezerwujemy osobnego miejsca dla jednej i drugiej postaci liczby - każda liczba jest pamiętana w każdym momencie albo w postaci algebraicznej albo wykładniczej - należy rozważyć użycie struktury z unią i selektorem unii oraz zastosowanie typu wyliczeniowego, - przy wczytywaniu użytkownik wybiera postać, w jakiej chce podać liczbę, - wywoływana funkcja zwraca postać wykładniczą zarówno wtedy gdy przekazujemy jej postać algebraiczną jak i wykładniczą, * Dalsza modyfikacja: funkcja (raz wywołana) przekształca ciąg liczb zespolonych zapisanych w tablicy. *[[cw-struktury-2019|Zadania lab.11]] ===== Co należy przygotować na ćwiczenia laboratoryjne nr 12: ===== * Dynamiczny przydział pamięci, funkcje ''malloc'' i ''free''.

ggis/pip19lab11.txt · ostatnio zmienione: 2019/10/22 15:25 przez miller