[ FallenAngelX @ 27.01.2009. 19:16 ] @
Pišem seminarski rad sa strukturama kao temom. Molim sve one koji mogu da mi pošalju rešenja zadataka za rad sa strukturama. |
[ FallenAngelX @ 27.01.2009. 19:16 ] @
[ Aleksandar Ilić @ 27.01.2009. 19:39 ] @
Je l' možemo da vidimo dokle si stigo ako nije problem? Koje su ti teze i slično?
[Ovu poruku je menjao Aleksandar Ilić dana 27.01.2009. u 20:54 GMT+1] [ FallenAngelX @ 28.01.2009. 14:04 ] @
Ovako izgleda sadrzaj u najkracim crtama. Mozda nesto dodam, videcu.
Strukture 1 Deklaracija strukture 1.1 Promenljive tipa strukture 1.2 Inicijalizacija strukture 1.3 Struktura unutar strukture 2 Rad sa strukturama 2.1 Operator tacka 2.2 Struktura i funkcije 3 Strukture i pokazivaci 3.1 Operator strelica (->) 3.2 Slozeni izrazi 4 typedef 5 Unija Literaturu sam skupio, nesto sa neta, nesto iz biblioteke, samo jos nekoliko test primera. Ne moraju da budu previse slozeni. [Ovu poruku je menjao FallenAngelX dana 28.01.2009. u 20:39 GMT+1] [ Aleksandar Ilić @ 28.01.2009. 17:48 ] @
Program učitava koordinate temena trougla i računa površinu i obim.
Code: #include <stdio.h> #include <math.h> struct tacka { int x; int y; }; float razdaljina(struct tacka a, struct tacka b) { return sqrt((a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y)); } float obimTrougla(struct tacka a, struct tacka b, struct tacka c) { return razdaljina(a, b) + razdaljina (a, c) + razdaljina (b, c); } float povrsinaTrougla(struct tacka a, struct tacka b, struct tacka c) { float poluobim, str1, str2, str3; poluobim = obimTrougla(a, b, c)/2; str1 = razdaljina(a, b); str2 = razdaljina(a, c); str3 = razdaljina(b, c); return sqrt(poluobim * (poluobim - str1) * (poluobim - str2) * (poluobim - str3)); } int main() { struct tacka a, b, c; float p, o; printf("Unesite koordinate temena A: "); scanf("%d %d", &a.x, &a.y); printf("Unesite koordinate temana B: "); scanf("%d %d", &b.x, &b.y); printf("Unesite koordinate temena C: "); scanf("%d %d", &c.x, &c.y); p = povrsinaTrougla(a, b, c); o = obimTrougla(a, b, c); printf("Povrsina = %f, Obim = %f\n", p, o); } Isti zadatak kao prethodni, s tim što ćemo sada kreirati strukturu trougao koja će sadržati temena, površinu i obim. Napisaću samo delove koji se razlikuju. Code: #include <stdio.h> #include <math.h> struct tacka { int x; int y; }; struct trougao { struct tacka A; struct tacka B; struct tacka C; float povrsina; float obim; }; //Funkcije kao u prethodnom primeru int main() { struct trougao ABC; printf("Unesite koordinate temena A: "); scanf("%d %d", &ABC.A.x, &ABC.A.y); printf("Unesite koordinate temena B: "); scanf("%d %d", &ABC.B.x, &ABC.B.y); printf("Unesite koordinate temena C: "); scanf("%d %d", &ABC.C.x, &ABC.C.y); ABC.povrsina = povrsinaTrougla(ABC.A, ABC.B, ABC.C); ABC.obim = obimTrougla(ABC.A, ABC.B, ABC.C); printf("Povrsina = %f, Obim = %f\n", ABC.povrsina, ABC.obim); } Primer s funkcijom koja vraća strukturu kao rezulat. Izostavio sam funkcije i deklaracije iz prvog/drugog primera. Code: struct trougao unesiPodatke(struct tacka a, struct tacka b, struct tacka c) { struct trougao ABC; ABC.A = a; ABC.B = b; ABC.C = c; ABC.povrsina = povrsinaTrougla(a, b, c); ABC.obim = obimTrougla(a, b, c); return ABC; } int main() { struct tacka A, B, C; struct trougao ABC; printf("Unesite koordinate temena a: "); scanf("%d %d", &A.x, &A.y); printf("Unesite koordinate temena b: "); scanf("%d %d", &B.x, &B.y); printf("Unesite koordinate temena c: "); scanf("%d %d", &C.x, &C.y); ABC = unesiPodatke(A, B, C); printf("Povrsina = %f, Obim = %f\n", ABC.povrsina, ABC.obim); } Ako budem imao vremena, napisaću i neke primere s pokazivačima. [ FallenAngelX @ 28.01.2009. 19:43 ] @
Mnogo ti hvala za ovo. ;-)
Copyright (C) 2001-2024 by www.elitesecurity.org. All rights reserved.
|