Anonymní profil Kali – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Kali – Programujte.comAnonymní profil Kali – Programujte.com

 

Příspěvky odeslané z IP adresy 160.217.224.–

C / C++ › Napište program hledající pr…
21. 11. 2012   #167316

#27 reciproke
Prosímtě mohli by jsme komunikovat soukromě,Např pomocí Facebooku či něčeho takového?Dozvěděl jsem se že mi pár lidí nahlíží do vlákna a nemám zájem o duplikaci kterou byl u nás problém v minulém zadání úkolu.

díky

C / C++ › Napište program hledající pr…
21. 11. 2012   #167314

#25 reciproke
pro Y by tedy měla být vvolaná funkce:

int vypocetPrusecikY(int x1,int x2,int y1,int y2)

{

//vrací průsečík Y
int A,prusecikY;
A = (y2-y1)/(x2-x1);
prusecikY = y2-(x2)*

}

?

C / C++ › Napište program hledající pr…
21. 11. 2012   #167312

#22 reciproke
no a pokud bude splněná podmínka tak zavolám funkci s výpočtem... ano? Omlvouvám se, že nechápu ale programuju teprve nějaký týden.

C / C++ › Napište program hledající pr…
21. 11. 2012   #167307

#19 reciproke
Nevím jestli jsem správně pochopil to jak jsi mi psal abych kontroloval průnik konkrétní osy. Pochopil jsem to správně když jsem výše uvedeným stylem předělal podmínky?

C / C++ › Napište program hledající pr…
21. 11. 2012   #167306

Ještě jsem rozdělil zvlášť ty podmínky porovnávánm zvlášť zda je průsečík s osou X a s osou Y

bool osaY(int x1, int x2)
{
//vypocet pruseciku y
if (x1>0 && x2<0)
  return true;
else if (x1<0 && x2>0)
  return true;
else
  return false;
}

bool osaX(int y1, int y2)
{
//vypocet pruseciku X

 
if (y1>0 && y2<0)
  return true;
else if(y1<0 && y2>0)
  return true;
else
  return false;
}

a zde jdou pak podmínky pro volání funkce pro výpočet průsečíků

if(osaY(poleX[index],poleX[index-1]) == true)
   cout<<vypocetPrusecik(poleX[index],poleX[index-1],poleY[index],poleY[index-1]);


  else if (osaX(poleY[index],poleY[index-1])==true)
   cout<<vypocetPrusecik(poleX[index],poleX[index-1],poleY[index],poleY[index-1]);


  else if ((osaX(poleY[index],poleY[index-1])==true) &&(osaY(poleY[index],poleY[index-1])==true))
   cout<<vypocetPrusecik(poleX[index],poleX[index-1],poleY[index],poleY[index-1]);


  else
   cout<<"body nemaji prusecik";

C / C++ › Napište program hledající pr…
21. 11. 2012   #167281

#15 reciproke
ne tak není problém v porovnávání floatů, když jsem to přepsal do integerů tak mám stejný problém.

C / C++ › Napište program hledající pr…
20. 11. 2012   #167235

#10 reciproke
ještě jsem předělal tu funkci na porovnávání na bool:

#include <stdio.h>
#include <iostream>
using namespace std;
float vypocetPrusecik(float x1,float x2,float y1, float y2)
{
float A,B,prusecik;
A = (y2-y1)/(x2-x1);
B = y2-(x2)*A;
prusecik= -B/A;
return prusecik;
}

bool kvadrant(float x1, float x2, float y1, float y2)
{ //vypocet pruseciku y
if ((x1>0 && x2<0)││(x1<0 && x2>0))
  return true;
//vypocet pruseciku x
else if ((y1>0 && y2<0)││(y1<0 && y2>0))
  return true;
else
  return false;
}


int main(int argc, char **argv)
{
float x,y;
float poleX[5];
float poleY[5];
//double poleKVA[4];
int pocitadlo =1;
int index = 0;

cout << "\t Program pro vypocet pruseciku s osami"<<endl;


do
{
  cout<<"Zadejte souradnice "<<pocitadlo<<".bodu"<<endl;
  cout<<"Souradnice x: ";
  cin>>x;
  poleX[index]=x;
  cout<<"souradnice y: ";
  cin>>y;
  poleY[index]=y;
  kvadrant(poleX[index],poleX[index-1],poleY[index],poleY[index-1]);
  if (kvadrant == true)
  {
   cout<<vypocetPrusecik(poleX[index],poleX[index-1],poleY[index],poleY[index-1]);
  }
  else
  {
   cout<<"body nemaji prusecik";
  }

  // průnik s osou y
  pocitadlo++;
  index++;
}
while ((x!=0)&&(y!=0));


return 0;
}

C / C++ › Napište program hledající pr…
20. 11. 2012   #167228

#10 reciproke
Nakonec jsem to začal dělat přes 1D pole. Chtěl bych se zeptat na pár rad, jak zapsat podmínky aby, když potřebuju pracovat s floatama nebo doublema. A zda je struktura prozatím správně napsaná. 

Funckci vypocetPrusecik jsou předávány parametry postupně z poleX a z poleY v každém cyklu na základě funkce která mi porovná zda mohou mít průsečík ( ty podmínky jsem nakonec zapsal jak jsi mi radil - neporovnávám 4 kvadranty ale jen 2 abych se nedostal do problému že mi úsečka vypočte průsečík s osou i když budou ve stejném kvadrantu)

funkce kvadrant by měla sloužit jak jsem psal výše čistě jen pro porovnávání souřadnic zda jsou ve stejném kvadrantu. Nevím však jak to napsat když nechci int ale double (nebo float)

#include <stdio.h>
#include <iostream>
using namespace std;
double vypocetPrusecik(float x1,float x2,float y1, float y2)
{
float A,B,prusecik;
A = (y2-y1)/(x2-x1);
B = y2-(x2)*A;
prusecik= -B/A;
return prusecik;
}

void kvadrant(float x1, float x2, float y1, float y2)
{ //vypocet pruseciku y
if ((x1>0 && x2<0)││(x1<0 && x2>0))
  vypocetPrusecik(poleX[index],poleX[index-1],poleY[index],poleY[index-1]);
//vypocet pruseciku x
else if ((y1 && y2)││(y1<0&& y2>0))
  vypocetPrusecik(poleX[index],poleX[index-1],poleY[index],poleY[index-1]);
else
  cout << "Body nemaji prusecik"<<endl;
}


int main(int argc, char **argv)
{
float x,y;
float poleX[5];
float poleY[5];
//double poleKVA[4];
int pocitadlo =1;
int index = 0;

cout << "\t Program pro vypocet pruseciku s osami"<<endl;


do
{
  cout<<"Zadejte souradnice "<<pocitadlo<<".bodu"<<endl;
  cout<<"Souradnice x: ";
  cin>>x;
  poleX[index]=x;
  cout<<"souradnice y: ";
  cin>>y;
  poleY[index]=y;
  kvadrant(poleX[index],poleX[index-1],poleY[index],poleY[index-1]);
  //cout<<"Prusecik bodu"<<pocitadlo<<"a "<< pocitadlo-1<<"je:"prusecik<<endl;
  // průnik s osou y
  pocitadlo++;
  index++;
}
while ((x!=0)&&(y!=0));


return 0;
}

C / C++ › Napište program hledající pr…
15. 11. 2012   #166872

#10 reciproke
super díky pustim se do toho

C / C++ › Napište program hledající pr…
15. 11. 2012   #166867

#8 reciproke
No dostal jsem prodloužení termínu odevzdání tohoto projektu, tak mě napadlo jestli to ještě nepředělat a zda by nebylo elegantnější udělat to přes struktury.

jeden bod = jedna struktura s parametrama x souřadnice a y souřadnice. Co si o to myslíš?

C / C++ › Napište program hledající pr…
15. 11. 2012   #166862

#6 reciproke
Napsal jsem si podmínky pro porovnávání na ty kvadranty :

(((poleX[i]&&poleX[i+1])>0)&&((poleY[i]&&poleY[i+1]))>0)

a takto bych napsal pro všechny 4 případy? Šlo by to tak řešit?

C / C++ › Napište program hledající pr…
14. 11. 2012   #166825

děkuji za přechozí odpovědi

Začal jsem nějakým způsobem kodit ten program ale jsem v koncích:

používám 2 jednorozměrná statická pole: poleX pro uložení Xových souřadnic a poleY pro uložení Y souřadnic.

Mám napsané zadáváni souřadnic.Pokud zadám pro bod X souřadnici 0 a pro Y souřadnici 0 tak zadáváni bodů skončí.  Výpočet pro průsečíky už  mám na papíře vymyšlený. Teď potřebuju porovnávat jestli jsou dva po sobě jdoucí body ( ve stejných kvadrantech,pokud ano nebudou mít žádný průsečík protože se omezím na úsečku z přímky).Můžete mi poradit jak to zapíšu?

#include <stdio.h>
#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
float x,y;
float poleX[5];
float poleY[5];
int pocitadlo =1;
int index = 0;
int pocitadlo2 =0;
cout << "\t Program pro vypocet pruseciku s osami"<<endl;


do
{
  cout<<"Zadejte souradnice "<<pocitadlo<<".bodu"<<endl;
  cout<<"Souradnice x: ";
  cin>>x;
  poleX[index]=x;
  cout<<"souradnice y: ";
  cin>>y;
  poleY[index]=y;
  pocitadlo++;
  index++;
}
while ((x!=0)&&(x!=0));
return 0;
}

Kali
C / C++ › Problém s "executable speci…
13. 11. 2012   #166624

Prosím o radu jak vyřešit tento problém. Nedaří se mi přeložit ani nově vytvořený program. Stejný problém mám v Netbeans,Eclipse,CodeLitu jen Code Block běhá jak má... Háže mi to chybu viz screen

zkoušel jsem reinstal programů, instaloval jsem celé balíky.

C / C++ › Napište program hledající pr…
12. 11. 2012   #166586

#2 ondra.holub
 

Tak nápad by nějaký byl, bohužel nevím jak to zapsat.Funkci pro výpočet výpočet bodů bych hodil jako zvlášť, kterou bych pak volal, pozadání souřadnic x1,y1,x2,y2?  Přes 2d pole bych to ani nemusel řešit ne?

díky

C / C++ › Napište program hledající pr…
12. 11. 2012   #166546

Dobrý den,

mohl bych se zeptat jak by se dal řešit tento program?

Zde je zadání:

- chování programu pro zadané body bude stejné jako v níže uvedenýcg příkladech
- program bude od uživatele brát zadávané souřadnice bodu, dokud uživatel nezadá bod [0,0], tím program skončí a vypíše se lehká statistika (mezi jakými body byly jaké průsečíky s jakýma osama), viz. příklady
- uživatel zadává souřadnice bodů [x,y] a program mu postupně píše souřadnice bodů průniku os a spojnice předchoziho a aktuálního bodu


- program bude obsahovat alespoň 3 funkce (minimálně main a 2 dalsi)
- nemusíte testovat vstup (např. ze je zadané číslo)
- jako průsečík s osou neuvažujte případy dotyku s osou, tj. např. [1,1] - [0,5]

Příklady:

cout << points << ". bod souradnice " << endl << "x = ";
cin >> xnew;
cout << "y = ";
cin >> ynew;

1. bod souradnice
Program hledajici pruseciky spojnic bodu s osami.
++++

priklad behu - kdyz jde spojnice po ose a dalsi
1. bod souradnice
x = 1
y = 0
2. bod souradnice
x = 3
y = 0
3. bod souradnice
x = -2
y = 0
# y prusecik [0,0]
4. bod souradnice
x = 3
y = -5
# y prusecik [0,-2]
5. bod souradnice
x = -2
y = 4
# y prusecik [0,0.4]
# x prusecik [0.222222,0]
6. bod souradnice
x = 0
y = 2
7. bod souradnice
x = 0

nebo:

Program hledající průsečíky spojnic bodů s osami.
++++
1. bod souradnice
x = -1
y = 2
2. bod souradnice
x = 5
y = -2
# y prusecik [0,1.33333]
# x prusecik [2,0]
3. bod souradnice
x = 0
y = 8
# x prusecik [4,0]
4. bod souradnice
x = -2
y = 3
5. bod souradnice
x = 4
y = -3
# y prusecik [0,1]
# x prusecik [1,0]
6. bod souradnice
x = 0
y = 0
++++
x pruseciky : 1-2[2,0] 2-3[4,0] 4-5[1,0]
y pruseciky : 1-2[0,1.33333] 4-5[0,1]
Pocet zadanych bodu : 6
y = 0
++++
x pruseciky : 4-5[0.222222,0]
y pruseciky : 2-3[0,0] 3-4[0,-2] 4-5[0,0.4]
Pocet zadanych bodu : 7

 

 

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