Forum » Programiranje » programiranje C
programiranje C
matey19 ::
Napišite program za delo s točkami realne ravnine.
1) Deklarirajte strukturo tocka, za hranjenje točk realne ravnine (x in y koordinata).
2) Deklarirajte tabelo tocke za hranjenje podatkov o 100 točkah in spremenljivko, v kateri hranite dejansko število elementov tabele.
3) Napiši funkcijo char meni(), ki izpiše besedilo
Izberite:
0 … koncaj program
1 … preberi točke
2 … zapiši točke
3 … izpiši najmanjši pravokotnik
in iz tipkovnice bere uporabnikovo izbiro, dokler ta ne pritisne številke 0, 1, 2 ali 3. Prebrani znak naj vrne kot rezultat.
4) Napišite funkcijo float velikost(tocka P), ki vrne velikost točke (dolžino vektorja) P; uporabite Pitagorovo pravilo, po katerem je velikost točke P(x,y) enaka x2+y2 .
5) V funkciji main() napišite zanko, v kateri kličete funkcijo meni() in glede na rezultat, ki ga ta funkcija vrne, naredite:
* '0': končajte z zanko,
* '1': kličite funkcijo preberi(),
* '2': kličite funkcijo zapisi(),
* '3': kličite funkcijo pravokotnik().
6) Napišite funkcijo void preberi(), ki najprej iz datoteke tocke.txt prebere n (število točk), nato prebere n točk v tabelo.
Primer vhodne datoteke tocke.txt:
6
1 1
2 2
2 -2
-1 -1
-2 -1
-2 2
7) Napišite funkcijo void zapisi(), ki v izhodno datoteko tockeV.txt zapiše podatke o vseh točkah; prva vrstica naj vsebuje število vseh točk, vse ostale vrstice pa naj bodo oblike
x y velikost
Primer izhodne datoteke tockeV.txt (pri vhodni datoteki tocke.txt, kot je prikazana zgoraj):
6
1 1 1.41
2 2 2.82
2 -2 2.82
-1 -1 1.41
-2 -1 2.24
-2 2 2.82
8) Napišite funkcijo void pravokotnik(), ki na zaslon izpiše spodnje levo in zgornje desno krajišče najmanjšega pravokotnika, ki vsebuje vse točke tabele tocke.
Primer izpisa (pri vhodni datoteki tocke.txt, kot je prikazana zgoraj):
Najmanjši pravokotnik: ((-2,-2), (2,2))
1) Deklarirajte strukturo tocka, za hranjenje točk realne ravnine (x in y koordinata).
2) Deklarirajte tabelo tocke za hranjenje podatkov o 100 točkah in spremenljivko, v kateri hranite dejansko število elementov tabele.
3) Napiši funkcijo char meni(), ki izpiše besedilo
Izberite:
0 … koncaj program
1 … preberi točke
2 … zapiši točke
3 … izpiši najmanjši pravokotnik
in iz tipkovnice bere uporabnikovo izbiro, dokler ta ne pritisne številke 0, 1, 2 ali 3. Prebrani znak naj vrne kot rezultat.
4) Napišite funkcijo float velikost(tocka P), ki vrne velikost točke (dolžino vektorja) P; uporabite Pitagorovo pravilo, po katerem je velikost točke P(x,y) enaka x2+y2 .
5) V funkciji main() napišite zanko, v kateri kličete funkcijo meni() in glede na rezultat, ki ga ta funkcija vrne, naredite:
* '0': končajte z zanko,
* '1': kličite funkcijo preberi(),
* '2': kličite funkcijo zapisi(),
* '3': kličite funkcijo pravokotnik().
6) Napišite funkcijo void preberi(), ki najprej iz datoteke tocke.txt prebere n (število točk), nato prebere n točk v tabelo.
Primer vhodne datoteke tocke.txt:
6
1 1
2 2
2 -2
-1 -1
-2 -1
-2 2
7) Napišite funkcijo void zapisi(), ki v izhodno datoteko tockeV.txt zapiše podatke o vseh točkah; prva vrstica naj vsebuje število vseh točk, vse ostale vrstice pa naj bodo oblike
x y velikost
Primer izhodne datoteke tockeV.txt (pri vhodni datoteki tocke.txt, kot je prikazana zgoraj):
6
1 1 1.41
2 2 2.82
2 -2 2.82
-1 -1 1.41
-2 -1 2.24
-2 2 2.82
8) Napišite funkcijo void pravokotnik(), ki na zaslon izpiše spodnje levo in zgornje desno krajišče najmanjšega pravokotnika, ki vsebuje vse točke tabele tocke.
Primer izpisa (pri vhodni datoteki tocke.txt, kot je prikazana zgoraj):
Najmanjši pravokotnik: ((-2,-2), (2,2))
Diplomirani inženir "lenarjenja"
bozjak ::
hmm saj bi ti napisal rešitve, ampak glede na to da ne moreš niti ene kratke prošnje napisat... Nobena od zgornjih nalog ni tok težka, da je nebi bil sposoben rešiti z malo googlanja, ampak če je vse kar si pripravljen storiti v te smeri, da besedila dobesedno copy pastaš na nek forum, potem menim, da si moje (naše) pomoči niti slučajno ne zaslužiš.
Lp
Lp
http://upor.blogec.si
http://bozjak.deviantart.com
http://bozjak.deviantart.com
Tutankhamun ::
Tko neki sm napisu . Še funkcijo ki bere iz datoteke boš mogu implementirat. Pa tko morš še testirat, js nevem če to dela tko kot more....
struct TOCKA { int X; int Y; }; TOCKA tocke [100]; int count = 0; int meni () { int c; while (true) { printf ("Izberite:\n"); printf ("0 koncaj program\n"); printf ("1 preberi tocke\n"); printf ("2 zapisi tocke\n"); printf ("3 izpisi najmanjsi pravokotnik\n"); scanf ("%u", &c); if (c >= 0 || c <= 3) return c; } } float velikost (TOCKA p) { return sqrt ((p.X * p.X) + (p.Y * p.Y)); } void preberi () { FILE *file; file = fopen ("izpis.txt", "w"); // TODO... preberi datoteko fclose (file); } void zapisi () { FILE *file; file = fopen ("izpis.txt", "w"); if (count == 0) return; fprintf (file, "%u", count); for (int i = 0; i < count; i++) fprintf (file, "%u %u %d", tocke[i].X, tocke[i].Y, velikost (tocke[i])); fclose (file); } void pravokotnik () { TOCKA LS, DZ; if (!count) return; LS.X = tocke[0].X; LS.Y = tocke[0].Y; DZ.X = tocke[0].X; DZ.Y = tocke[0].Y; for (int i = 1; i < count; i++) { if (LS.X > tocke [i].X) LS.X = tocke [i].X; if (DZ.X < tocke [i].X) DZ.X = tocke [i].X; if (LS.Y > tocke [i].Y) LS.Y = tocke [i].Y; if (DZ.Y < tocke [i].Y) DZ.Y = tocke [i].Y; } printf ("((%d,%d),(%d,%d))", LS.X, LS.Y, DZ.X, DZ.Y); } int main(int argc, char* argv[]) { while (true) { int c = meni (); switch (c) { case 0: return 0; case 1: preberi (); break; case 2: zapisi (); break; case 3: pravokotnik (); break; } } return 0; }
AMD Phenom QUAD 9950 Black Edition, 8GB
Tutankhamun ::
Upam da me naute napadl ker sm rešu nalogo :/
AMD Phenom QUAD 9950 Black Edition, 8GB
matey19 ::
Ok brez nepotrebnih komentarjev z tutenkamnom sva bla zmenjena da mi prek te strani pomaga tko da pač sm si mal sposodu forum. Hvala tutankamon. Moderator pa lahko zarad mene zdej zbrise tale post
Diplomirani inženir "lenarjenja"
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Java ObjektiOddelek: Programiranje | 2244 (1938) | Mavrik |
» | Freehand v krivuljo - C# ali VBOddelek: Programiranje | 1502 (1373) | PaX_MaN |
» | [C/C++] Konveksna lupina - brute forceOddelek: Programiranje | 1897 (1771) | WarpedGone |
» | [C++][Naloga_polja]MIN in MAX polja, izpis za x.100 stevilOddelek: Programiranje | 2940 (2751) | snow |
» | n kraljicOddelek: Programiranje | 1478 (1316) | Thomas |