Programiranje u C++-u - pitanja i odgovori izdvojena tema

poruka: 7.285
|
čitano: 1.712.796
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

 jeli moguće upravljati pritiskom tipki na gamepadu preko programa kao što je moguće za tipkovnicu preko keybd_event();

 
0 0 hvala 0
15 godina
online
Re: Programiranje u C++-u - pitanja i odgovori
LFS racer kaže...

  jeli moguće upravljati pritiskom tipki na gamepadu preko programa kao što je moguće za tipkovnicu preko keybd_event();

  http://msdn.microsoft.com/en-us/library/dd757116

I would love to change the world, but they won't give me the source code
Poruka je uređivana zadnji put ned 23.9.2012 17:34 (captain_soap_McTawish).
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
captain_soap_McTawish kaže...

 http://msdn.microsoft.com/en-us/library/dd757116(v=VS.85).aspx#CommunityContent

Joj MSDN i njihovi URL-ovi, da su malo više frendly ne bi nikom smetalo.

15 godina
online
Re: Programiranje u C++-u - pitanja i odgovori
royalhero kaže...
captain_soap_McTawish kaže...

  http://msdn.microsoft.com/en-us/library/dd757116(v=VS.85).aspx#CommunityContent

Joj MSDN i njihovi URL-ovi, da su malo više frendly ne bi nikom smetalo.

  Onaj dio koji nije oznacen kao url, nije cak ni potreban.

I would love to change the world, but they won't give me the source code
Poruka je uređivana zadnji put ned 23.9.2012 17:35 (captain_soap_McTawish).
16 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Kako da u CodeBlocks-u onemogucim "auto code completion"?

 

U postavkama pod ---- "Settings ------- Editor ------- Code completion and symbols browser" sam vec odabrao "disable code completion" ali bez ikakvog ucinka.

 
0 0 hvala 0
13 godina
neaktivan
offline
Re: Litertura

Imaš temu o literaturi iz programiranja.

13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
captain_soap_McTawish kaže...
LFS racer kaže...

  jeli moguće upravljati pritiskom tipki na gamepadu preko programa kao što je moguće za tipkovnicu preko keybd_event();

 http://msdn.microsoft.com/en-us/library/dd757116

gledam i gledam tu stranicu i sve ostale linkove, i nigdje nemogu pronaći nešto čime bi baš kontrolirao osi. sve nešto kao capture, get position.., 

15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
LFS racer kaže...

gledam i gledam tu stranicu i sve ostale linkove, i nigdje nemogu pronaći nešto čime bi baš kontrolirao osi. sve nešto kao capture, get position.., 

Što ti znači "kontrolirao osi"?

 

Pa očitavaš trenutno stanje joysticka pomoću određenih funkcija, te reagiraš sukladno tome.

http://msdn.microsoft.com/en-us/library/dd757121%28v=vs.85%29.aspx

 

Inače, to je zastarjeli API. Ako hoćeš nešto s više mogućnosti zasuci rukave i pozabavi se directinputom.

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
Poruka je uređivana zadnji put pet 28.9.2012 22:50 (rustweaver).
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
rustweaver kaže...
LFS racer kaže...

gledam i gledam tu stranicu i sve ostale linkove, i nigdje nemogu pronaći nešto čime bi baš kontrolirao osi. sve nešto kao capture, get position.., 

Što ti znači "kontrolirao osi"?

 

da ja u programu određujem trenutnu poziciju osi, nezavisno od toga što je na joysticku

15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
LFS racer kaže...

da ja u programu određujem trenutnu poziciju osi, nezavisno od toga što je na joysticku

lol pa ti čitaš input sa joysticka, kako ćeš ti interpretirati taj input je tvoja stvar...

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
rustweaver kaže...
LFS racer kaže...

da ja u programu određujem trenutnu poziciju osi, nezavisno od toga što je na joysticku

lol pa ti čitaš input sa joysticka, kako ćeš ti interpretirati taj input je tvoja stvar...

nije meni uopće potrebno da ga čitam svojim programom, nego mi je važno kako ostali programi čitaju joystick ( hoću da čitaju moje inpute iz programa)

15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
LFS racer kaže...

nije meni uopće potrebno da ga čitam svojim programom, nego mi je važno kako ostali programi čitaju joystick ( hoću da čitaju moje inpute iz programa)

Želiš stvarati joystick input evente?

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
rustweaver kaže...
LFS racer kaže...

nije meni uopće potrebno da ga čitam svojim programom, nego mi je važno kako ostali programi čitaju joystick ( hoću da čitaju moje inpute iz programa)

Želiš stvarati joystick input evente?

Želim ako je to ono što tražim :D čuo sam da je to jedino moguće preko direct inputa, no ja o tome nemam pojma

15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
LFS racer kaže...

Želim ako je to ono što tražim :D

Pa želiš li stvarati vlastite joystick input evente na koje će druge aplikacije reagirati? Npr. odaslati event pomicanja palice ulijevo koji će onda neka aplikacija uhvatiti i reagirati na njega kao da je netko stvarno pomaknuo palicu joysticka ulijevo?

 

LFS racer kaže...

čuo sam da je to jedino moguće preko direct inputa, no ja o tome nemam pojma

DirectInput je zadužen za joysticke, ako sam dobro skužio što želiš to ti neće baš funkcionirati bez hookanja na directinput. Znači ne gine ti proučavanje rada sa directinputom kako bi shvatio kako radi, te učenje hookanja u windows okružju.

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
rustweaver kaže...
LFS racer kaže...

Želim ako je to ono što tražim :D

Pa želiš li stvarati vlastite joystick input evente na koje će druge aplikacije reagirati? Npr. odaslati event pomicanja palice ulijevo koji će onda neka aplikacija uhvatiti i reagirati na njega kao da je netko stvarno pomaknuo palicu joysticka ulijevo?

točno to, imate kakvih korisnih linkova? :D

15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
LFS racer kaže...

točno to, imate kakvih korisnih linkova? :D

To je veoma egzotična tema pa ću googlanje prepustiti tebi. Dao sam ti post iznad okvirno opis u kojem smijeru moraš tražiti. Evo nešto malo za početak:

 

http://stackoverflow.com/questions/3223406/low-level-mouse-hook-and-directx

http://sourceforge.net/p/vjoystick/code/344/tree/

 

Ako tražiš brzo rješenje, bojim se da ga nema ili barem ja ne znam za isto. Morat ćeš zasukati rukave i sam smisliti nekakvo rješenje jer je ovo što pokušavaš prilično neuobičajeno.

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
17 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Hm, imam jedno pitanje. Jel je moguce napisati algoritam za rotaciju N x M matrice (proizvoljne, ne samo kvadratne) za +-pi/2 sa slozenoscu O(n2) ili je to meni malo kasno pa se ne mogu pomaknuti u nekom pravom pravcu? Posto su proizvoljne matrice u pitanju trebalo bi vektore koristiti.

 

Dakle, islo bi ovako nekako, transponirati matricu i onda obrnuti retke. Problem je samo u tome sto mi trenutno ne pada na pamet kako to izvesti u <= O(n2) slozenosti.

 

Eh, da, i bez dodatne matrice. Dakle, na istoj.

If you ever write code that is so complex that needs a comment to explain *what* a statement is doing, you probably need to rewrite your code, not comment it.
Poruka je uređivana zadnji put ned 30.9.2012 0:31 (1domagoj1).
 
0 0 hvala 0
15 godina
online
Programiranje u C++-u - pitanja i odgovori

Mislim da je ovo unutar slozenosti O(n2):

 

http://stackoverflow.com/questions/2893101/how-to-rotate-a-n-x-n-matrix-by-90-degrees

 

for(int i=0; i<n/2; i++)
    for(int j=0; j<(n+1)/2; j++)
      cyclic_roll(m[i][j], m[n-1-j][i], m[n-1-i][n-1-j], m[j][n-1-i]);


void cyclic_roll(int &a, int &b, int &c, int &d)
{
    int temp = a;
    a = b;
    b = c;
    c = d;
    d = temp;
}

I would love to change the world, but they won't give me the source code
 
1 0 hvala 1
17 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

To je za N x N matricu, tj. kvadratnu, slican algoritam sam i sam osmislio, doduse vidio sam ga kasnije na SO-u, razlika je jedino bila sto moj rotira -pi/2, taj na SO-u je rotirao +pi/2, ali ideja je ista.

Za kvadratnu mi i treba, ali to sam vec rijesio, pa rekoh sebi, zasto stati na tome, ajmo rotirati i N x M matrice, cisto iz zabave. Doduse, mislim da ne postoji neka prakticna primjena N x M matrica za koju ja znam, tako da mi nije hitno, a napravio bih to cisto iz zabave da vidim da se moze.

If you ever write code that is so complex that needs a comment to explain *what* a statement is doing, you probably need to rewrite your code, not comment it.
 
2 0 hvala 0
15 godina
online
Programiranje u C++-u - pitanja i odgovori

Ja sam rijesio na 2 slicna nacina, i mislim da je u oba slozenost u granicama O(n2). U oba slucaja prazna mjesta popunjam nulama(nije nuzno za rad programa). Oba rotiraju za +90 stupnjeva, no moze se algoritam se moze promijeniti na -90 stupnjeva. Ovdje sam stavio cijele kodove programa, koji sami popune matricu ovisno o varijablama n i m i ispisu matricu na pocetku i na kraju.  To sam napravio iz razloga da se algoritmi vrlo lako testiraju, (samo mijenjajte m i n).

 

U prvom nacinu pretpostavljam da ako je npr. m> n, onda rezerviran prostor m*m, i obrnuto. Pravokutnik svodim na kvadrat, tj uzmem dimenziju pravokutnika koja je veca kao stranicu kvadrata. Onda taj kvadrat rotiram, po vec poznatom algoritmu gore. I po potrebi ako ostane negdje praznoga mjesta, pomakne matricu kako bi pocinjala tocno od (0,0)

 

#include <iostream>
#include <iomanip>
#define MAX 100

using namespace std;


void cyclic_roll(int &a, int &b, int &c, int &d)
{
    int temp = a;
    a = b;
    b = c;
    c = d;
    d = temp;
}

void print_matrix(int **matrix,int n, int m){
    for(int i = 0; i < n; i++){
        for(int j = 0; j < m; j++)
            cout<<setw(3)<<((int*)matrix)[i*MAX+j];
        cout<<endl;
    }
    cout<<endl;
}
int main(){
    int matrix[MAX][MAX]={{0}};
    const int n =5, m = 10;
    for(int i = 0; i< n; i++){
        for(int j = 0; j < m; j++){
            matrix[i][j] = i*m + j+1;
        }
    }

    print_matrix((int**)matrix,n,m);
    int square_size = n > m ? n : m;

    for(int i = 0; i < square_size /2;i++)
        for(int j = 0; j< (square_size+1)/2; j++){
                int temp = matrix[i][j];
                matrix[i][j] = matrix[square_size - 1 - j][i];
                matrix[square_size - 1 - j][i] = matrix[square_size-1-i][square_size-1-j];
                matrix[square_size - 1 - i][square_size - 1 -j] = matrix[j][square_size-1-i];
                matrix[j][square_size-1-i] = temp;
            }



    int offsetY = m > n ? m - n : 0;
    if(offsetY > 0){
    for(int i = 0; i< m; i++)
        for(int j = offsetY; j < m; j++){
            matrix[i][j-offsetY] = matrix[i][j];
            matrix[i][j] = 0;
        }
    }


    print_matrix((int**)matrix,m,n);

    return 0;
}

 

Drugi nacin, predostavlja da ako je matrica n*m dimenzija, da je rezerviran prostor za rotiranu matricu m*n( Dakle za razliku od prvog nacina, ne koristi prostor koji matrica i rotirana matrica ne koriste). Ovdje matricu podijelimo na 2 dijela, na najveci moguc kvadrat ( max(n,m)), i na ostatak. Kvadrat rotiramo po po prije poznatome algoritmu. Onda po potrebi pomaknemo taj kvadrat, da bi ostavili mjesta za ostatak. Onda taj ostatak jednostavno prepisemo.

#include <iostream>
#include <iomanip>
#define MAX 100

using namespace std;


void cyclic_roll(int &a, int &b, int &c, int &d)
{
    int temp = a;
    a = b;
    b = c;
    c = d;
    d = temp;
}

void print_matrix(int **matrix,int n, int m){
    for(int i = 0; i < n; i++){
        for(int j = 0; j < m; j++)
            cout<<setw(3)<<((int*)matrix)[i*MAX+j];
        cout<<endl;
    }
    cout<<endl;
}
int main(){
    int matrix[MAX][MAX]={{0}};
    const int n =5, m = 4;
    for(int i = 0; i< n; i++){
        for(int j = 0; j < m; j++){
            matrix[i][j] = i*m + j+1;
        }
    }

    print_matrix((int**)matrix,n,m);
    int square_size = n > m ? m : n;
    int offset = n > m ? n-m : 0;

    for(int i = 0; i < square_size /2;i++)
        for(int j = 0; j< (square_size+1)/2; j++){
                int temp = matrix[i][j];
                matrix[i][j] = matrix[square_size - 1 - j][i];
                matrix[square_size - 1 - j][i] = matrix[square_size-1-i][square_size-1-j];
                matrix[square_size - 1 - i][square_size - 1 -j] = matrix[j][square_size-1-i];
                matrix[j][square_size-1-i] = temp;
            }
    if(offset > 0)
        for(int i = 0; i< square_size;i++)
            for(int j = m -1 + offset; j> offset-1;j--)
                matrix[i][j] = matrix[i][j-offset];



    if(n > m)
        for(int i = m; i<n;i++)
            for(int j = 0; j<m;j++){
                matrix[j][n-i-1] = matrix[i][j];
                matrix[i][j] = 0;
            }
    else
        for(int i = n; i <m;i++)
            for(int j = 0; j< n;j++){
                matrix[i][n-j-1] = matrix[j][i];
                matrix[j][i] = 0;
            }

    print_matrix((int**)matrix,m,n);

    return 0;
}

 

I would love to change the world, but they won't give me the source code
 
1 0 hvala 0
14 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

počinjem učit c++

možete mi reči nešto osnovno što se mora znati?!

s kojim programom da idem radit i neke stranice s dobrim tutorijalima! 

 
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
schwarz3108 kaže...

možete mi reči nešto osnovno što se mora znati?!

Engleski jezik i umijeće googlanja ;)

 

schwarz3108 kaže...
s kojim programom da idem radit

Nekakav IDE, recimo Code::Blocks, DevCpp ili Visual C++ express

 

schwarz3108 kaže...
i neke stranice s dobrim tutorijalima! 

Možeš ovdje početi, ali pokušaj se što prije dokopati nekakve ozbiljnije literature, recimo C++ analiza i primjena ili Demistificirani C++.

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
Poruka je uređivana zadnji put ned 30.9.2012 18:17 (rustweaver).
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

HITNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO :D

 

Da li mi moze neko nacrtati dijagram toka za slijedeci zadatak pleaseeee:

 

Napisati program koji ce pronaci ikoliko ima petocifrenih brojeva kod kojih je suma zadnje cetiri cifre jednaka prvoj.

 

Uradila sam vec u programu, samo mi treba dijagram toka.Hitno,potrebno za uslov =)

 
0 0 hvala 0
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Intelovac123 kaže...
aidaado kaže...

Hitno mi treba pomoc please............... Trebam nacrtati dijagram toka za slijedeći zadatak.

 

Koliko ima 5-cifrenih brojeva kod koji je zbir zadnje 4 cifre jednak prvoj cifri.

#include <iostream>

using namespace std;

int main()
{
    int a,b,c,d,p,n;
    cin>>n;
    p=(n/10000);
    a=(n%10);
    b=(n%100)/10;
    c=(n%1000)/100;
    d=(n%10000)/1000;
    if (a+b+c+d==p)
    {
        cout<<n << " je petocifren broj ciji je zbir tadnje 4 cifre jednake prvoj."<<endl;
    }
    else
    {
        cout<<n <<" nije petocifren broj ciji je zbir zadnje 4 cifre jednake prvoj"<<endl;
    }
    return 0;
}

 

Eto ti kod za jedan broj,ubacis u petlju od 10000 do 99999 i napises dijagram toka na osnovu uradjenog programa ako ne znas odma..

Ma nije meni nazalost problem kod,samo dijagram toka :(

13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Što bi sve trebao znati prije nego krenem na OOP ? Za sada znam osnove , znaci funkcije,polja,pokazivače,petlje itd. Da li bi trebo naučiti još nešto kako bi mi shvaćanje OOP-a bilo lakše ?

 
0 0 hvala 0
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Fuhrer kaže...

Što bi sve trebao znati prije nego krenem na OOP ? Za sada znam osnove , znaci funkcije,polja,pokazivače,petlje itd. Da li bi trebo naučiti još nešto kako bi mi shvaćanje OOP-a bilo lakše ?

Što manje znaš to ti je bolje. :D

Objektno orjentisano nije nadogradnja funkcionalnog, najbolje bi bilo da nemaš pojma ni jedno i da odmah učiš OOP. To što znaš do sada ti je dosta, funkcije ćeš u OOP-u zvati metode, itd.

13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

tko sve od vas ide na HONI?

 

1 skupina OŠ
1 skupina SŠ
0 mentor
5 ne idem
5 ne znam što je to
 
0 0 hvala 0
16 godina
offline
Programiranje u C++-u - pitanja i odgovori

Imam jedan problem, naime ovo je tekst zadatka kojeg trebam rijesiti :

Za četiri broja poredana po veličini reći ćemo da čine aritmetički niz ako je razlika dvaju susjednih elemenata uvijek ista. Takvi su primjerice brojevi: 1, 5, 9, 13 (razlika je 4). Napiši program koji će unositi tri broja iz aritmetičkog niza od 4 i odredit će koji je četvrti broj. Uneseni brojevi nisu nužno poredani po veličini.

Test primjer :

Ulazni - 13, 9, 1

Izlazni - 5

 

I ovo sam dosad napisao :

 

 

#include <stdlib.h>

#include <stdio.h>

#include <math.h>

int main ()

   {

     int a,b,c;

     scanf("%d %d %d",&a,&b,&c);

     if(a>b && b>c &&(b-c)==4 &&(a-b)>4)

     {

         printf("%d",a-4);

     }

     if(a>b && b>c &&(a-b)==4 &&(b-c)>4)

     {

         printf("%d",b-4);

     }

     system("pause");

     return 0;     

 

   }

 

 

Problem jest taj, sto program nista ne ispisuje, makar i u ovom stadiju

R.I.P. EnlightenedPhoenix 24.6.2011. R.I.P. Steve Jobs 6.10.2011. 1955. - 2011.
Poruka je uređivana zadnji put sub 6.10.2012 23:06 (Mitch).
 
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Mitch kaže...
Problem jest taj, sto program nista ne ispisuje, makar i u ovom stadiju

Problem je taj što si postavio uvjete takve kakve si postavio. Probaj malo provrtiti jedan od ta dva uvjeta kroz glavu pa će ti biti jasno, koristi i olovku i papir ako ne možeš popamtiti što prolazi a što ne prolazi. Dosta si naivno krenuo rješavati taj problem ako smijem primijetiti, zar si mislio pisati if blok za svaku moguću kombinaciju poredanih brojeva? Ja bih to stavio sve u polje, sortirao polje, i onda tražio brojeve između kojih je razlika veća od četiri.

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
Poruka je uređivana zadnji put ned 7.10.2012 0:11 (rustweaver).
E-mail:
Lozinka:
 
vrh stranice