Zajęcia 11 Przykłady: 1. Struktura struct osoba{ //Definicja struktury
Transkrypt
Zajęcia 11 Przykłady: 1. Struktura struct osoba{ //Definicja struktury
Zajęcia 11 Przykłady: 1. Struktura struct osoba{ char imie[20]; char *nazwisko; int wiek; }; //Definicja struktury struct osoba zmiena, *wskaznik, tablica[10]; //Deklaracja zmiennych do struktury zmienna.wiek = 7; wskaznik = &zmienna; printf("%d\n",wskaznik->wiek); //Inicjalizacja zmiennych struktury //Ważny operator -> (*wskaznik).wiek = 7; lub wskaźnik->wiek = 7; tablica[2].wiek = 5; gets(zmienna.imie); printf("%s\n",wskaznik->imie); //Wczytanie i wyświetlenie ciągu znaków tablica[0].nazwisko = (char*)malloc(100*sizeof(char)); //Alokacja pamięci strcpy(tablica[0].nazwisko,wskaznik->imie); //Kopiowanie ciągu znaków 2. Deklaracja typów typedef int dl; typedef struct { char imie[20]; char *nazwisko; int wiek; } osoba; //Definicja typu osoba zmiena, *wskaznik, tablica[10]; //Deklaracja zmiennych typu osoba Zadania: Wykorzystując przykłady z poprzednich zajęć opracuj program, który: 1. Pobierze od użytkownika dane o ramiarze dwóch tablic 2D, zaalokuje dynamicznie pamięć na nie oraz pobierze dane do tych tablic, 2. Napisz funkcję, która dokona transpozycji wybranej tablicy 2D, jako argument wejściowy przyjmie wskaźnik do tablicy 2D oraz jej rozmiar, natomiast zwróci wskaźnik do transponowanej tablicy 2D, (UWAGA: z funkcji możemy zwrócić tylko jedną zmienną), 3. Opracuj odrębną funkcję do wyświetlania tablicy 2D o określonym rozmiarze, 4. Zastosuj strukturę aby rozwiązać problem zwracania danych o tablicy z funkcji, 5. Opracuj odrębną funkcję do wyświetlania danych ze struktury, 6. Stosując struktury napisz funkcję, która dokona mnożenia macierzy zawartych w odpowiednich strukturach i zwróci zmienną do nowej struktury z wynikami, rozmiarem tablicy i np. jej nazwą, jako argument wejściowy funkcja przyjmie zmienne do struktur zawierające rozmiary tablic i dane. Informacje dodatkowe: Ciągi znaków – wybrane operacje: 1. Funkcja strcmp służy do porównywania dwu ciągów znaków. Ma dwa parametry i zwraca -1 gdy pierwszy ciąg znaków jest mniejszy od drugiego, 0 gdy są równe i +1, gdy pierwszy ciąg jest większy od drugiego, 2. Do kopiowania służy funkcja strcpy o dwu parametrach. Ciąg znakach zawarty w drugim parametrze kopiowany jest do pierwszego parametru, 3. Funkcja strlen podaje długość ciągu znaków (bez znaku NULL), 4. Do łączenia napisów służy funkcja strcat. Zawartość drugiego parametru funkcji dopisywana jest na końcu zawartości pierwszego. Więcej informacji na stronie wykładu: http://www.immt.pwr.wroc.pl/~myszka/InformatykaI/W11/w11_beamer.pdf