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

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

 

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

Ilhvm
Offtopic › Cohen-Sutherland
16. 1. 2013   #170247

Zdravím,

věděl by někdo, jak se postupně vyhodnocují body v algoritmu Cohen-Sutherland?

např. tenhle obrázek. Který bod se bude kdy vyhodnocovat a jak to určím?

Díky za odpovědi.

DaFak
C / C++ › Zásobník - statické pole
22. 12. 2012   #169205

#19 vitamin
Dobré, už nic, v pohodě je to všechno :)

Tak děkuju moc všem!

DaFak
C / C++ › Zásobník - statické pole
22. 12. 2012   #169203

#17 vitamin
To mám a pořád nic, program jen problikne.

DaFak
C / C++ › Zásobník - statické pole
22. 12. 2012   #169200

#15 vitamin
Tak i tak to nejde.

#define N 50

typedef struct zasobnik{
   int zas[N];
   int v;
}ZASOBNIK;

void Vytvor(ZASOBNIK* zasobnik){
    	zasobnik->v = 0;
}

void PridejNaKonec(ZASOBNIK* zasobnik, int h){
	zasobnik->zas[zasobnik->v] = h;
	zasobnik->v++; 
}

void OdeberZKonce(ZASOBNIK* zasobnik){
    	zasobnik->v--;
}

int JePrazdny(ZASOBNIK* zasobnik){
   	if (zasobnik->v == 0) return 1;
    	else return 0;
}


int _tmain(int argc, _TCHAR* argv[]){
	ZASOBNIK vrchol;
    	int i, h;

    	Vytvor(&vrchol);
    	for(i = 1; i <= N; i++){
        	PridejNaKonec(&vrchol, i);
    	}
    	while(JePrazdny(&vrchol) == 0){
        	OdeberZKonce(&vrchol);
    	}
	return 0;
}
DaFak
C / C++ › Zásobník - statické pole
22. 12. 2012   #169198

#13 vitamin
Zkusil jsem a pořád je tam něco špatně :)) Takže asi by byla teoreticky lepší ta lokální proměnná, ale to taky nevím, jak ji napsat, když je vrchol typu ZASOBNIK.

DaFak
C / C++ › Zásobník - statické pole
22. 12. 2012   #169195

Takže:

zasobnik = (ZASOBNIK*)malloc(sizeof(ZASOBNIK)); ?

DaFak
C / C++ › Zásobník - statické pole
22. 12. 2012   #169193

#9 vitamin
ZASOBNIK mám jako strukturu. Warning to vyhodí nějaký šílený s číslama: Unhandled exception at 0x004113c1 in zasobnik.exe: 0xC0000005: Access violation writing location 0xcccccd94.

DaFak
C / C++ › Zásobník - statické pole
22. 12. 2012   #169191

#7 vitamin
No, když program spustím, tak mi to při běhu vyhodí warning u zasobnik->v = 0;

DaFak
C / C++ › Zásobník - statické pole
22. 12. 2012   #169189

#5 liborb
To hledám, to je pravda :)) Takže nějak takhle by to šlo?

#define N 50

typedef struct zasobnik{
   int zas[N];
   int v;
}ZASOBNIK;

void Vytvor(ZASOBNIK* zasobnik){
    zasobnik = NULL;
}

void PridejNaKonec(ZASOBNIK* zasobnik, int h){
    	zasobnik->zas[zasobnik->v] = h;
	zasobnik->v++; 
}

void OdeberZKonce(ZASOBNIK* zasobnik, int h){
    	zasobnik->v--;
	zasobnik->zas[zasobnik->v] = h;
}

int JePrazdny(ZASOBNIK* zasobnik){
    if (zasobnik == NULL){
		return 1;
	}
    else return 0;
}

Jinak ještě metoda main:

int _tmain(int argc, _TCHAR* argv[]){
    ZASOBNIK* vrchol;
    int i, h;

    Vytvor(vrchol);
    for(i = 1; i <= N; i++){
        PridejNaKonec(vrchol, i);
    }
    while(JePrazdny(vrchol) == 0){
        OdeberZKonce(vrchol, h);
    }

    System("PAUSE");
	return 0;
}

Pořád se tomu něco nelíbí.

DaFak
C / C++ › Zásobník - statické pole
22. 12. 2012   #169186

Příklad mi vznikl nějak takhle:

#define N 50

typedef struct zasobnik{
   int[N] zas;
   int v;
}ZASOBNIK;

void Vytvor(ZASOBNIK v){
    v = NULL;
}

void PridejNaKonec(ZASOBNIK v, int h){
    v = h;

}

void OdeberZKonce(ZASOBNIK v, int h){
    ZASOBNIK pom;
    pom = v;
    ???
}

int JePrazdny(ZASOBNIK v){
    if (v == NULL) return 1
    else return 0;
}

Nevím si rady s těmi pointery, jestli je tam mám teď už nasázet nebo tam vůbec nejsou potřeba. A potom metoda OdeberZKonce, vím, že se musí zavést pomocná proměnná, do které se uloží hodnota z vrcholu a pak se vrchol nastaví na předchůdce, ale nevím jak to napsat.

DaFak
C / C++ › Zásobník - statické pole
19. 12. 2012   #169125

Zdravím vás,

potřeboval bych vysvětlit, jak na to, když mám udělat zásobník, který bude implementovat datovou strukturu a bude vytvořen pomocí statického pole (o max 50 prvcích) a bude také obsahovat index vrcholu zásobníku.

Řekl bych, že to bude vypadat nějak takto:

#define N 50

typedef struct zasobnik{
   int[N] zas;
   int v;
}ZASOBNIK;

Nevím ale, jestli to má obsahovat nějaké pointery nebo ne.

Díky za radu.

linarts
Java › 3D projekce - Z-buffer
17. 12. 2012   #169030
linarts
Java › 3D projekce - Z-buffer
17. 12. 2012   #169029

#2 zlz
Teorie opravdu moc nemám a pokud už tak tam jsou šílené matematické vzorečky.

Rady si nevím snad se vším, ani v podstatě nevím, jak má vypadat výsledný výsledek.

linarts
Java › 3D projekce - Z-buffer
16. 12. 2012   #168994

Zdravím,

potřebuju vyřešit tento úkol - Realizujte metodu Z-buffer pro vykreslení scény s rovinami a koulemi. Aplikujte metodu Phongovha osvetlovacího modelu s difúzním povrchem. Použijte kolmou projekci.

Vím, že by mi tady úkoly nikdo řešit neměl, ale já si s tím vůbec nevím rady.

Děkuji!

FreakLej
C / C++ › Libovolný soubor + koncovka…
15. 12. 2012   #168972

Super, děkuju mockrát :)

FreakLej
C / C++ › Libovolný soubor + koncovka…
15. 12. 2012   #168965

#8 zlz
Prostě pomocí scanf? A to mám deklarovat jako string? Jakože např. char*  nazev[]; ? A dynamicky alokovat ..

FreakLej
C / C++ › Libovolný soubor + koncovka…
15. 12. 2012   #168963

Prostě potřebuju, aby si uživatel mohl otevřít libovolný soubor.

FreakLej
C / C++ › Libovolný soubor + koncovka…
15. 12. 2012   #168961

#4 KIIV
Jasně, tak jo děkuju.

A teda to otevření libovolného bez okýnek asi moc nepůjde že?

FreakLej
C / C++ › Libovolný soubor + koncovka…
15. 12. 2012   #168954

#2 KIIV
No pomocí fwrite() by to šlo?

Jinak prostě s tím otevřením libovolného souboru nevím.

FreakLej
C / C++ › Libovolný soubor + koncovka…
15. 12. 2012   #168950

Ahojte, prosím vás, mám dvě otázky.

1) Jak na otevření a načtění libovolného souboru?

2) Kde si můžu navolit, že se výpis souboru bude ukládat do souboru s určitou koncovkou?

Díky za odpovědi.

Jaja
Java › Objektové programování - sta…
15. 12. 2012   #168948

Fajn, v pořádku, děkuju :)

Jaja
Java › Objektové programování - sta…
15. 12. 2012   #168945

V main už nemám nic. Čistě jen ty dva body + to co si mi napsal ty.

Metoda Bod:

public class Bod
{
    private double x;
    private double y;
    
    public Bod()
    {
        x=0;
        y=0;
    }
    
    public Bod(double x, double y){
        this.x = x;
        this.y = y;
    }
   
   public String toString()
   {
       String string = "\nx: "+ getX() + " Y: "+ getY();
       return string;
   }
   
   public void tisk()
   {
       System.out.println("Souradnice bodu jsou: "+ this.toString());
   }
   
   public double getX()
   {
       return x;
   }
    
   public void setX(double x)
   {
       this.x = x;
   }
    
   public double getY()
   {
       return y;
   }
    
   public void setY(double y)
   {
       this.y = y;
   }
   
   public double delkaX(Bod bod){
       return Math.abs(getX() - bod.getX());
    }
}

Metoda Vypocet:

public class Vypocet
{
   private Bod bod1;
   private Bod bod2;
   

   public Vypocet(){
       bod1 = new Bod();
       bod2 = new Bod();
   }
   
   public Vypocet(Bod a, Bod b){
       bod1 = a;
       bod2 = b;
   }
   
   public Bod getBod1(){
       return bod1;
   }
   
   public void setBod1(Bod a){
       bod1 = a;
   }
   
   public Bod getBod2(){
       return bod2;
   }
   
   public void setBod2(Bod b){
       bod2 = b;
   }
   
   public static double vzdalenost(Bod b1, Bod b2){
       double delkaX, delkaY;
       
       delkaX = b2.getX() - b1.getX();
       delkaY = b2.getY() - b1.getY();
       return Math.sqrt(delkaX*delkaX + delkaY*delkaY);
   }
   
   public String toString(){
       return String.format("\nBod x: %s,\nBod y: %s,\nDelka usecky: %.10f ", bod1.toString(), bod2.toString(), vzdalenost(bod1, bod2));
   }
   
   public void tisk(){
       System.out.println(this.toString());
   }
}

A metoda s main:

public class VypocetTest
{
   public static void main(String[] args){
       Bod bod1 = new Bod(90, 40);
       Bod bod2 = new Bod(50, 10);
       
       double v = vzdalenost(bod1, bod2);a
   }
}
Jaja
Java › Objektové programování - sta…
15. 12. 2012   #168943

Tak tak, když ale tohle hodím do main, tak mi to vypíše, že ta metoda nebyla nalezena.

Jaja
C / C++ › Práce se soubory - hledání ř…
15. 12. 2012   #168939

#53 CZechBoY
Výborně, děkuju mockrát!

CrazyWolf
Java › Objektové programování - sta…
15. 12. 2012   #168938

Zdravím,

mám menší problém s metodou, mám napsat program, který zjistí vzdálenost svou bodů. Všechno mi funguje, ale jen je problém s tím, že nevím jak to udělat podle zadání.

 public static double vzdalenost(Bod b1, Bod b2){
       double delkaX, delkaY;
       
       delkaX = b2.getX() - b1.getX();
       delkaY = b2.getY() - b1.getY();
       return Math.sqrt(delkaX*delkaX + delkaY*delkaY);
 }

Metoda main:

public static void main(String[] args){
       Bod bod1 = new Bod(90, 40);
       Bod bod2 = new Bod(50, 10);
}

V zadání je, že metoda vzdalenost je třídní statická metoda, která se oužije přímo na třídu, v main nevytváří žádné instance.

Nevím jak dál, co doplnit do main a co ne.

Díky vám moc!

Jaja
C / C++ › Práce se soubory - hledání ř…
11. 12. 2012   #168605

#51 CZechBoY
Úplně z cesty, pokud nastavím i = 0, tak mi to háže 0 a pokud to nechám bez nastavení, tak mi to háže nějaké šílené číslo.

Jaja
C / C++ › Práce se soubory - hledání ř…
8. 12. 2012   #168354

Jo, dobře už to funguje, jen mi to hází špatný výsledek, ale s tím už si poradím.

Díky moc všem

Jaja
C / C++ › Práce se soubory - hledání ř…
7. 12. 2012   #168297

#47 KIIV
Jo, tu chybějící svorku jsem přehlédl.

A s tou další chybou nevím, se soubory pracuji prvně.

Jaja
C / C++ › Práce se soubory - hledání ř…
7. 12. 2012   #168290

#45 oplis1
Jo, to už by šlo :)

Jen mi to ještě píše jakésik 2 chyby:

Warning 1 warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. c:\documents and settings\www\dokumenty\visual studio 2010\projects\zkouska\zkouska\zkouska.c 17 1 zkouska

Error 2 error C1075: end of file found before the left brace '{' at 'c:\documents and settings\www\dokumenty\visual studio 2010\projects\zkouska\zkouska\zkouska.c(10)' was matched c:\documents and settings\www\dokumenty\visual studio 2010\projects\zkouska\zkouska\zkouska.c 38 1 zkouska

Příjde mi, jakoby to mělo problém s tím souborem, který chci otevřít.

Jaja
C / C++ › Práce se soubory - hledání ř…
7. 12. 2012   #168285

#43 oplis1
Jasně, děkuju .. No, pořád to nějak hapruje, hází mi to tam:

3 IntelliSense: a value of type "void *" cannot be used to initialize an entity of type "char *"

Jaja
C / C++ › Práce se soubory - hledání ř…
7. 12. 2012   #168278

Tak:

int main(){
    FILE *f;
    char* a = "main";
    int delka = strlen(a);
    char* radek = malloc(strlen(delka) + 1);
    int i;

    if((f = fopen("rovnice.txt", "r")) == NULL){
        printf("Chyba pri praci se souborem!");
        return 0;
    }

    while(!feof(f)){
        radek = fgets(radek, 4, f);
        if(strcmp(a, radek) == 0 ){
            i++;
	}

    printf("V souboru je %d funkci main: ", i);

    free(radek);
    fclose(f);

    system("PAUSE");
    return 0;

}

Změnil jsem jen ten radek a porad to nejede. Já tomu prostě asi nerozumím.

Jaja
C / C++ › Práce se soubory - hledání ř…
6. 12. 2012   #168204

Kompiluju a stejně to i tak nejede. Nemám rád C, už tam mi nadělalo moc problémů :D

Jaja
C / C++ › Práce se soubory - hledání ř…
6. 12. 2012   #168201

Pořád se tomu něco nelíbí

Jaja
C / C++ › Práce se soubory - hledání ř…
6. 12. 2012   #168199

Jo, to by byla první a pak to tam háže ještě:

U řádků:

char radek[delka+1];

radek = fgets(a, 4, f);

Jaja
C / C++ › Práce se soubory - hledání ř…
6. 12. 2012   #168194

No právě že to nedělá vůbec nic, program se ani nespustí. Když to zkompiluju ve VS, tak mi to tam hodí:

tady tohle jedině.

Jaja
C / C++ › Práce se soubory - hledání ř…
6. 12. 2012   #168191

To ano, protože ji tam nevidím. To bude nějaká ta záludná chyba pro mě.

Jaja
C / C++ › Práce se soubory - hledání ř…
6. 12. 2012   #168189

Mě myslím ještě Code::Block chybu nevyhodil, ale to je jedno :))

Kde je chyba to nevím.

Jaja
C / C++ › Práce se soubory - hledání ř…
6. 12. 2012   #168186

No spouštím to přes Code::Block a tam to chyby nehlásí, ale otevřu si to ve Visual Studio

Jaja
C / C++ › Práce se soubory - hledání ř…
6. 12. 2012   #168184

zapomněl jsem tam ještě do deklarace dodat int i; :))

Jaja
C / C++ › Práce se soubory - hledání ř…
6. 12. 2012   #168183

Dobře, no, nějak jsem to vykutil a pořád tam mám něco špatně, ze soubory pracuju teď prvně, takže s tím mám trošku problém.

int main(){
    FILE *f;
    char* a = "main";
    int delka = strlen(a);
    char radek[delka+1];

    if((f = fopen("rovnice.txt", "r")) == NULL){
        printf("Chyba pri praci se souborem!");
        return 0;
    }

    while(feof(f)){
        radek = fgets(a, 4, f);
        if(strcmp(a, radek) == 0 ){
            i++;
    }

    printf("V souboru je %d funkci main: ", i);

    fclose(f);

    system("PAUSE");
    return 0;

}

Program se mi ani nespustí.

Jaja
C / C++ › Práce se soubory - hledání ř…
6. 12. 2012   #168180

Takže když porovnávám slovo main s něčím, co má v souboru 4 písmena, tak to pak funguje ano?

A ještě se chci zeptat, proměnná radek bude typu string? To znamená char[] radek?

Jaja
C / C++ › Práce se soubory - hledání ř…
6. 12. 2012   #168177

Super, už mě začíná opět něco osvicovat :))

A teda jak si výše psal, že to porovnávání nikdy nebude vracet 0, tak co s tím?

Jaja
C / C++ › Práce se soubory - hledání ř…
6. 12. 2012   #168174

Když mám kód -

while(f != EOF){
        radek = fgets(a, 4, f);
        if(strcmp(main, radek) == 0 ){
		i++;
}

Asi bude spatně celý, ale to znamená že v té podmínce bude teda radek že ano?

Jaja
C / C++ › Práce se soubory - hledání ř…
6. 12. 2012   #168172

#11 CZechBoY
Dobrá tedy.

A v té podmínce to nacteno_ze_souboru značí co? Vím, že je to řetězec, který chci porovnávat s tím prvním, ale netuším jak to zapsat.

Jaja
C / C++ › Práce se soubory - hledání ř…
6. 12. 2012   #168170

#8 CZechBoY
Výborně

A potom teda porovnávat můžu jak?

Jaja
C / C++ › Práce se soubory - hledání ř…
6. 12. 2012   #168165

#6 CZechBoY
Já hlavně potřebuju vědět kde jakou funkci a cyklus použít :))

Jaja
C / C++ › Práce se soubory - hledání ř…
6. 12. 2012   #168152

#4 TheOndrap
Takže načítání pomocí funkce fgets?

Jaja
C / C++ › Práce se soubory - hledání ř…
5. 12. 2012   #168144

#2 TheOndrap
V pohodě, to stačí. A mohl bys mi poradit jak to udělat?

A jak teda můžu spočítat kolikrát se v souboru nachází určitý řetězec? Dejme tomu třeba počet podmínek (tzn. řetezec if)

Jaja
C / C++ › Práce se soubory - hledání ř…
5. 12. 2012   #168138

Zdravím zdravím,

prosím vás kdokoliv, jak můžu naprogramovat, aby uživatel mohl otevřít libovolný soubor? A jak se dá ze souboru zjistit kolikrát se určitý řetězec v souboru nachází?

Díky

Clin
C / C++ › Řetězec
4. 12. 2012   #168064

Noo dobře, ale stejně nevím, co bych tam měl změnit, spíše teda jak bych to měl změnit.

Clin
C / C++ › Řetězec
4. 12. 2012   #168058

"Problém" je v tom, že nesmíme použít u tohoto příkladu žádnou z funkcí třídy string.

Clin
C / C++ › Řetězec
4. 12. 2012   #168051

Zdravím vás,

mám napsat program, který z řetězce ubere od určitého indexu určitý počet znaků a řetězec vypíše. Mám tohle a někde mi to tam hapruje:

void vyradText(char *str, int pocet, int index){
    char *zstr;
    int i;

    str = (char*)malloc(7);

    str[0] = 'l';
    str[1] = 'e';
    str[2] = 'b';
    str[3] = 'e';
    str[4] = 'd';
    str[5] = 'a';
    str[6] = '\0';

    printf("Retezec je: %s", str);

    printf("\nZadej pocet: ");
    scanf("%d", &pocet);
    printf("Zadej index: ");
    scanf("%d", &index);

    for(i=index; i<pocet; i++){
        str[i] = str[i+pocet];
    }

    zstr = (char*)malloc(7-pocet);
    zstr = str;

    for(i=0; i<=sizeof(zstr); i++){
        printf("%s", zstr[i]);
    }

    free(str);
    str = NULL;
}

int main()
{
  char str;
  int pocet, index;

  vyradText(str, pocet, index);
}

Díky za pomoc.

 

 

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