Pole se vzorcem – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Pole se vzorcem – C / C++ – Fórum – Programujte.comPole se vzorcem – C / C++ – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Kano.net0
Newbie
11. 2. 2014   #1
-
0
-

Dokáže mi někdo poradit jak pohnout s tímhle příkladem co nejjednodušší cestou? Učím se programovat v c++ od včerejška a nejsem schopný to dát dohromady jinak než abych vypisoval 64 vzorců. A s cyklem sem dokázal vytvořit pouze první řádek, pak mi to začne házet nesmysly...

Sestavte program, který na základě osmi vámi zvolených bodů (P1 až P8) ve 2D prostoru v deklaraci 

pole 8x2 typu float vypíše do konzolového okna souřadnice těchto bodů a vypočte vzájemné 
vzdálenosti mezi body a vypíše je do tabulky v konzolovém okně (obr.1). Pro výpočet vzdálenosti 
využijte funkce sqrt() a pow() z knihovny math.h. 

Připojen obrázek.

Nahlásit jako SPAM
IP: 77.48.209.–
Reklama
Reklama
hlucheucho+10
Posthunter
11. 2. 2014   #2
-
0
-

Pro načtení zadávaných bodů použiješ cyklus for, máš dvě pole o velikosti 8 prvků float - jedno je pro souřadnici x a druhé y. Pro výpočet použiješ dva vnořené cykly a Pythagorovu věta. 

Edit: pozor na indexování polí. Indexuje se od 0 do (velikost_pole-1) včetně.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
Kano.net0
Newbie
11. 2. 2014   #3
-
0
-

#2 hlucheucho

Tohle sem zkoušel, ten vzorec s pythagorovou větou je mi jasný, ale nwm co s tím cyklem for...Vždy mi to vypočítalo první řádek a hotovo...pak to začlo doplňovat nesmysly, protože je potřeba do té pythagorovy věty potřeba dosadit pozici z matice místo hodnoty. A to ještě vzájemně odečíst ty dva body od sebe...

Nahlásit jako SPAM
IP: 77.48.209.–
KIIV+42
God of flame
11. 2. 2014   #4
-
0
-

musis mit dva cykly .. jeden na radky, jeden na jednotlive sloupce

Nahlásit jako SPAM
IP: 62.216.147.–
Program vždy dělá to co naprogramujete, ne to co chcete...
hlucheucho+10
Posthunter
11. 2. 2014   #5
-
0
-

 Ještě jednou:

mám 2 pole o osmi prvcích. Jedno obsahuje souřadnice x a druhé y daných bodů. Vnořím do sebe dva cykly, každý generuje index prvku pole. Indexy mi určují, které prvky pole dosadit do výpočtu:

int i, j;
float x[8];
float y[8];
float dy, dx;

for(i = 0; i < 8; i++)
{
  for(j = 0; j < 8; j++)
  {
    dx = x[i] - x[j];
    dy = y[i] - y[j];
    //dx a dy dosadim do Pyth. vety a vypisu na monitor
  }
}

hu

Nahlásit jako SPAM
IP: 195.178.67.–
Kano.net0
Newbie
11. 2. 2014   #6
-
0
-

Nejsem na svém počítači ale měl jsem to přibližně takhle

for (x=0; x<8; x++)
	
	for (y=0; y<8; y++)
		
hmat=sqrt((pow(abs(mat[0][0]-mat[1][0])),2)+(pow(abs(mat[0][1]-[1][1])),2))

a potřebuju nějak nahradit ty pozice (mat[0][0] atd.) proměnnou tak aby se automaticky přesouvaly na další řádek. zkoušel sem to opět dalšíma dvouma for cyklama a to mi vyhazovalo asi 32 Matic s nesmyslama. A nebo nějaké jiné jednodušší řešení.

Nahlásit jako SPAM
IP: 77.48.209.–
Kano.net0
Newbie
11. 2. 2014   #7
-
0
-

#5 hlucheucho
no, to zkusím jak se dostanu domů...To mě nenapadlo... xD

Nahlásit jako SPAM
IP: 77.48.209.–
Řešení
hlucheucho+10
Posthunter
11. 2. 2014   #8
-
0
-
Vyřešeno Nejlepší odpověď

když jsou indexy konstantní.....   

Možná bylo myšleno dvourozměrné pole se souřadnicemi

float body[8] [2];

pak bys můj kód musel upravit na:

dx = body[i] [0] - body[j] [0];
dy = body[i] [1] - body[j] [1];

Nejsrozumitelnější by bylo ukládat body do pole struktur.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
KIIV+42
God of flame
11. 2. 2014   #9
-
0
-

V C++ by bylo nejlepsi mit rovnou objekty, vector a tak :D  Ale tezko rict, jestli by to dal dohromady.

Nahlásit jako SPAM
IP: 62.216.147.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Kano.net0
Newbie
11. 2. 2014   #10
-
0
-

#9 KIIV

Včera večer sem poprvé v životě otevřel Visual studio...taže asi ne...

Nahlásit jako SPAM
IP: 77.48.209.–
vitamin+8
Grafoman
11. 2. 2014   #11
-
0
-

#10 Kano.net
Prečo nezačneš najprv z knihou alebo tutoriálom?

Nahlásit jako SPAM
IP: 195.28.77.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
Kano.net0
Newbie
11. 2. 2014   #12
-
0
-

No s tím už sem začal předevčírem, ale jako dálkový student mikroelektroniky nemám čas na to abych se za týden naučil programovat a ještě se učil další předměty, zvlášť když chodím denně do práce. NAvíc já Cčko asi nikdy potřebovat nebudu, takže se naučím nějaké základy, odevzdám úlohy podobného typu a udělám zkoušku...a tím pro mě programování skončí. Jako na střední sem programoval v Pascalu a v Delphi takže sem tam něco vím...

Nahlásit jako SPAM
IP: 77.48.209.–
hlucheucho+10
Posthunter
11. 2. 2014   #13
-
0
-

Důležitý je algoritmus. Jinak projít pole dvěma cykly for je v Packalu stejný jako v C, v tom se oba jazyky moc neliší. Pokud si místo MS VS vezmeš C++ Builder, budeš mít všechno jak v Delphi s trochu jinou syntaxí.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 63 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý