• Nie Znaleziono Wyników

Programowanie proceduralne Laboratorium 8

N/A
N/A
Protected

Academic year: 2021

Share "Programowanie proceduralne Laboratorium 8"

Copied!
4
0
0

Pełen tekst

(1)

Programowanie proceduralne Laboratorium 8 – Struktury

1. Zdefiniuj strukturę complex, która przechowuje liczbę zespoloną w postaci algebraicznej (struktura ma dwie składowe odpowiadające częściom: rzeczywistej i urojonej). Struktura powinna być zdefiniowana w pliku complex.h.

2. Zaimplementuj funkcje pozwalające na wypisywanie na ekran i odczytywanie z klawiatury liczb zespolonych. Deklaracje funkcji umieść w pliku complex.h, a ich definicje w pliku complex.c. Zademonstruj ich działanie w programie.

Przykładowy efekt uruchomienia programu:

3. Zaimplementuj funkcje pozwalające na wykonywanie obliczeń na liczbach zespolonych:

 dodawanie liczb zespolonych,

 mnożenie liczb zespolonych,

 sprzęgnięcie liczby zespolonej,

 moduł liczby zespolonej,

 argument liczby zespolonej.

Deklaracje funkcji umieść w pliku complex.h, a ich definicje w pliku complex.c.

Zademonstruj ich działanie w programie.

Przykładowy efekt uruchomienia programu:

(2)

4. Zdefiniuj strukturę vector3, która przechowuje wektor z przestrzeni trójwymiarowej. Struktura powinna być zdefiniowana w pliku vector3.h.

5. Zaimplementuj funkcje pozwalające na wypisywanie na ekran i odczytywanie z klawiatury wektorów trójwymiarowych. Deklaracje funkcji umieść w pliku vector3.h, a ich definicje w pliku vector3.c. Zademonstruj ich działanie w programie.

Przykładowy efekt uruchomienia programu:

6. Zaimplementuj funkcje pozwalające na wykonywanie działań na wektorach trójwymiarowych:

 dodawanie,

 zmianę znaku współrzędnych,

 odejmowanie,

 mnożenie skalarne wektorów trójwymiarowych,

 mnożenie wektorowe wektorów trójwymiarowych,

 długość wektora,

 mnożenie wektora przez liczbę.

Deklaracje funkcji umieść w pliku vector3.h, a ich definicje w pliku vector3.c.

Zademonstruj ich działanie w programie.

Przykładowy efekt uruchomienia programu:

(3)

7. Zdefiniuj strukturę vectorDouble, która służy do reprezentowania n-elementowego wektora liczb rzeczywistych. Struktura ma dwa pola. Są to liczba całkowita (liczba elementów w wektorze) oraz wskaźnik na typ double (wskazujący na tablicę zawierającą współrzędne wektora). Struktura powinna być zdefiniowana w pliku vectorDouble.h.

8. Zaimplementuj następujące funkcje obsługujące strukturę z poprzedniego zadania:

 struct vectorDouble * newVector(int);

 void printVectorDouble(struct vectorDouble *);

 void setVectorDouble(struct vectorDouble *, int, double);

 double getVectorDouble(struct vectorDouble *, int);

 void deleteVectorDouble(struct vectorDouble **);

Funkcja newVector() pobiera liczbę całkowitą n i tworzy wektor n-elementowy.

Funkcja alokuje n-elementową tablicę współrzędnych wektora i zeruje jej elementy.

Funkcja printVectorDouble() pozwala wypisać współrzędne wektora na ekran.

Funkcja setVectorDouble() pozwala przypisać podaną wartość wskazanej współrzędnej wektora.

Funkcja getVectorDouble() pozwala odczytać wartość wskazanej współrzędnej wektora.

Funkcja deleteVectorDouble() zwalnia pamięć zajmowaną przez strukturę.

Funkcja pobiera wskaźnik na wektor przez referencję, aby móc go wyzerować. Zatem typem argumentu jest wskaźnik na wskaźnik (

struct vectorDouble **

).

Pamiętaj, aby funkcje getVectorDouble(), setVectorDouble(), printVectorDouble() oraz deleteVectorDouble() sprawdzały czy nie przekazano do nich pustego wskaźnika.

Zademonstruj działanie funkcji w programie.

(4)

Przykładowy kod programu:

i efekt jego działania:

Karol Tarnowski

Wrocław, 2018

Cytaty

Powiązane dokumenty

Napisz program, który prosi użytkownika o podanie nazwy pliku zawierającego trzy liczby rzeczywiste, następnie odczytuje liczby ze wskazanego pliku i wyświetla ich

Sprawdzanie powinno odbywać się w następująco: program powinien losowo wybierać jedno słowo, i prosić użytkownika o podanie jego znaczenia, a następnie

Aby zademonstrować działanie tej funkcji, napisz program, który wywołuje przygotowaną funkcję dla testowych danych (dane mogą być zapisane w programie lub

Napisz program, który wczytuje dane z plików imiona_zenskie.txt oraz imiona_meskie.txt zawierające zestawienie 10 najczęściej nadawanych imion w Polsce w 2019.. Program

Napisz program, który pobiera od użytkownika nazwę pliku tekstowego i wyświetla informację ile ten plik zawiera: liter (w rozbiciu na małe i duże), cyfr, białych znaków

• Funkcje wywołuje się pisząc jej nazwę oraz nawiasy klamrowe z argumentami przekazywanymi do funkcji.

Napisz program, który prosi użytkownika o podanie dwóch liczb całkowitych, a następnie wypisuje na ekranie wyniki ich mnożenia, dzielenia, dzielenia modulo,

Napisz funkcję selectsort, która sortuje n-elementową tablicę liczb rzeczywistych, wykorzystując algorytm sortowania przez wybieranie.. Zademonstruj działanie funkcji