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

poruka: 7.285
|
čitano: 1.713.176
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
eagle05 kaže...

Pozdrav svima

Moze li mi netko uraditi ove zadatke 

 

 

Zadatak Razraditi logiku programa koji će najprije učitati broj n. Ako n nije prirodan

broj, ispisati o tome poruku i ponoviti učitavanje. Učitati n brojeva i naći i ispisati

njihovu aritmetičku sredinu.


Zadatak Razraditi logiku programa koji će učitavati jedan za drugim niz brojeva. Kraj

niza označen je brojem 9. Naći i ispisati aritmetičku sredinu učitanih brojeva

uzimajući u obzir samo one brojeve koji su veći ili jednaki 2 i manji ili jednaki pet.


Zadatak Razraditi logiku programa koji će učitati brojeve m i n. Oba broja moraju bit

prirodna i m mora biti veći od n. Ako taj uvjet nije ispunjen ponoviti učitavanje. Naći i

ispisati binomni koeficijent b jednak m povrh n tj.  b=m! / n!(m-n)!

 

Zadatak Razraditi logiku programa koji će učitati broj n koji mora biti veći od 10. Ako

taj uslov nije ispunjen, ispisati poruku o grešci i prekinuti rad programa. Naći i ispisati

najveći prosti broj manji od n.


Zadatak Razraditi logiku programa koji će najprije učitati prirodan broj n i realan broj

x. Program treba naći i ispisati sumu prvih n članova niza

s=1+x/1!+x**2/2!+..+x**n/n! (** označava stepenovanje). 

 

Zadatak Razraditi logiku programa koji će najprije učitati broj n, koji mora biti prirodan broj

manji od 1000. Ako n ne zadovaljava postavljeni uslov, ispisati poruku i ponoviti

učitavanje. Ako n zadovoljava postavljeni uslov, učitati n brojeva, poredati ih

(sortirati) po rastućem redoslijedu i ispisati tako poredane brojeve.


Zadatak Razraditi logiku programa koji će koristiti matricu od 50 redaka i 50

stupaca. Učitati broj m koji mora biti manji ili jednak 50. Ako taj uslov nije zadovoljen

ponoviti učitavanje broja m. Učitati m * m brojeva u m redaka i stupaca matrice. Naći

i ispisati proizvod članova na sporednoj dijagonali matrice (sporedna dijagonala ide

od desnog gornjeg u lijevi donji ugao).


Zadatak Razraditi logiku programa koji će koristiti matricu od 50 redaka i stupaca.

Učitati brojeve m i n koji odrenuju broj popunjenih redaka (m) i stupaca (n) matrice. m

i n moraju biti manji od 51. Ako taj uslov nije zadovoljen ponoviti učitavanje brojeva m

i n. Učitati brojeve u m redaka i n stupaca matrice. Naći i ispisati najveći broj u

svakom od m retka matrice.

 

Koliko sma ja shvatio, svrha ovog foruma je pomoci pri problemu, znaci ako programiras nesto i nikako ne mozes naci gresku u programu, a ne da das zadatke koje su ti domaca zadaca na faxu il u srednjoj, i da ti neko to napravi. Koja ti je svrha toga, dobit ces dobru ocjenu il sta ja znam, dobit ces diplomu i znat ces za k*rac? Mislim danasnji ljudi mi nikako nisu jasni ....

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

Mislim danasnji ljudi mi nikako nisu jasni ....

Kako nisu? Lijenost.

 

I sâm sam velika lijenčina, ali kad ovo vidim odmah mi je lakše, znači da ima i gorih... {#}

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

Koji su redom ovdje glavni prioriteti kako se računa x % - y *w?

I kod ovoga ako mi mozete objasniti x / y / z jel racunam s lijevo na desno ili ?

Šta ima veći prioritet * ili %?

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

Koji su redom ovdje glavni prioriteti kako se računa x % - y *w?

I kod ovoga ako mi mozete objasniti x / y / z jel racunam s lijevo na desno ili ?

Šta ima veći prioritet * ili %?

http://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B#Operator_precedence

 

Savjetujem ti da tablicu ne ucis napamet, zapravo savjetujem ti ni da ne gledeas tablicu kada pises svoj kod. Ako hoces napisati neki izraz i imas nejasnoca, radije stavi zagrade bez obzira jesu li one potrebne ili ne. Tako je kod puno razumljiviji.

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

Koji su redom ovdje glavni prioriteti kako se računa x % - y *w?

I kod ovoga ako mi mozete objasniti x / y / z jel racunam s lijevo na desno ili ?

Šta ima veći prioritet * ili %?

http://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B#Operator_precedence

 

EDIT: lol isti link smo stavili, samo što ja po običaju zujim... :D

evo još malo:

http://en.cppreference.com/w/cpp/language/operator_precedence

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
Poruka je uređivana zadnji put čet 1.11.2012 18:01 (rustweaver).
17 godina
offline
Programiranje u C++-u - pitanja i odgovori

Zašto ne provjeriti sam prioritet operatora, tako se lakše nauči, nego iz tablica.

 

printf("%d\n", 7%3*4);
printf("%d", 4*7%3);

 

Pošto u prvom slučaju ispisuje 4, a u drugom 1 zaključak je:

- Isti prioritet, s lijeva na desno.

 

Dalje možeš 7%4-3*2

Kad izbaci -3, a hoće objašnjenje je samo jedno: 3-6=-3, a to znači da je obrađen modulo i množenje prvo, oduzimanje iza toga.

Zaključak: operator - ima niži prioritet.

Poruka je uređivana zadnji put čet 1.11.2012 19:16 (Floki).
 
2 0 hvala 0
17 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Riješiš mu zadatke, položi i dobiješ još jednog tukca s bezvrijednom svjedodžbom ili diplomom. Nedavno je jedan na forumu tražio da mu riješe ulazni zadatak za razgovor za posao. Koliko daleko glupost ide...

Moj PC  
9 0 hvala 0
16 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
naxeem kaže...

Riješiš mu zadatke, položi i dobiješ još jednog tukca s bezvrijednom svjedodžbom ili diplomom. Nedavno je jedan na forumu tražio da mu riješe ulazni zadatak za razgovor za posao. Koliko daleko glupost ide...

Može link da ne moram tražit ? {#}

Netko radi što zna, a netko zna šta radi
15 godina
offline
Programiranje u C++-u - pitanja i odgovori

Pozdrav, ekipa imam problem naime zadatak koji imam jest unjeti rečenicu u provjeriti jel ona palindrom ili nije e sad ja sam napiso program koji radi za neke rijeći a za neke nažalost ne npr."anavolimilovna" veli da je palindom ali i za "ananevolimilovana" također veli da je palindrom evo moj kod je ovo, pa ako ima netko dobar da progleda i proba rješit problem:

 

#include <iostream>

using namespace std;

 

int main()

{

   char a[100];

   int i=0,p=0;

   cout <<"Dragi korsinice, u ovom progremu se NE koristi razmak!"<<endl;

   cout <<"unesite svoju recenicu: ";

   gets(a);

   while(a[p+1]!='\0')

   p++;

 

   cout<<"Vasa recenica ispisana obrnutim redoslijedom znakova: ";

   for (i=p;i>=0;i--)

   cout <<a[i];

   cout<<endl;

   for (i=0;i>=0;i--)

     if (a[i] == a[p])

      {

      cout<<"Vasa recenica je PALINDROM!"<<endl;     

      }

     else

      {

      cout<<"Vasa recenica NIJE PALINDROM!"<<endl;   

      }

   system("pause");

   return 0;

}

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

Pozdrav, ekipa imam problem naime zadatak koji imam jest unjeti rečenicu u provjeriti jel ona palindrom ili nije e sad ja sam napiso program koji radi za neke rijeći a za neke nažalost ne npr."anavolimilovna" veli da je palindom ali i za "ananevolimilovana" također veli da je palindrom evo moj kod je ovo, pa ako ima netko dobar da progleda i proba rješit problem:

 

 

#include <iostream>

using namespace std;

 

int main()

{

   char a[100];

   int i=0,p=0;

   cout <<"Dragi korsinice, u ovom progremu se NE koristi razmak!"<<endl;

   cout <<"unesite svoju recenicu: ";

   gets(a);

   while(a[p+1]!='\0')

   p++;

 

   cout<<"Vasa recenica ispisana obrnutim redoslijedom znakova: ";

   for (i=p;i>=0;i--)

   cout <<a[i];

   cout<<endl;

   for (i=0;i>=0;i--)

     if (a[i] == a[p])

      {

      cout<<"Vasa recenica je PALINDROM!"<<endl;     

      }

     else

      {

      cout<<"Vasa recenica NIJE PALINDROM!"<<endl;   

      }

   system("pause");

   return 0;

}

 

Polazi od nule, vrti se dok je i veće ili jednako nuli, i smanjuje se za jedan, hoće li to raditi!?

15 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori

ha neće, ali mi je ovako jedino kako tako proradilo 

17 godina
offline
Programiranje u C++-u - pitanja i odgovori

Po headeru vidim da radiš u C++, pa onda i iskoristi prednosti C++ da olakšaš sebi posao. Ovako:

 

 

#include<iostream>
#include<string>
using namespace std;

bool Palindrom(string recenica)
{
    for (int i = 0; i < recenica.length()/2; i++)
    {
       if(recenica[i] != recenica[recenica.length()-1-i])
          return false;
    }
    return true;
}

int main()
{
    string recenica;
    cin>> recenica;
    bool isPalindrom = Palindrom(recenica);
    if(isPalindrom)
    {
       cout<< "Palindrom" << endl;
    }
    else
    {
       cout<< "Nije palindrom" << endl;
    }
    return 0;
}

 

Još dodati uklanjanje razmaka, interpukcije i svesti na mala slova i to je to.

A ako želiš ostati na char nizu, primjeni ovaj algoritam iz funkcije Palindrom, stvar je ista.

Poruka je uređivana zadnji put čet 1.11.2012 21:27 (Floki).
 
1 0 hvala 0
15 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori

ma tu i je problem jer ja bool Palindrom nemogu koristit jer prof. to ne dozvoljava jer to nismo još učili

17 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
DodoNJa kaže...

ma tu i je problem jer ja bool Palindrom nemogu koristit jer prof. to ne dozvoljava jer to nismo još učili

 

int Palindrom(char* niz)

{

          for(int i=0; i<duljina/2; i++)

              {

                    if(niz[i] != niz[duljina-1-i]

                        return 0;

               }

           return 1;

}

 

Ej, da sam ti profa, sad bi ti zavilašio asa kao kuća, i to s guštom, analiziraj ovu petlju, iteraciju po iteraciju, inače će ti on zavilašiti asa ako skuži da ne znaš što si naspisao.

Jednostavno provjeravaš prvo slovo sa zadnjim, drugo sa predposljednjim i sve po redu, ako naletiš na nejednakost funkcija se prekida sa return 0, odnosno vraća 0, ako sva

mjesta pašu izlazi se iz petlje i funkcija se prekida sa return 1, odnosno vraća 1.

Duljinu char niza odrediti znaš, dakle, sad imaš sve, ako ne želiš zasebnu funkciju, utrpaj ovu petlju u main i to je to, naravno onda ideš bez return, deklariraš zasebnu int varijablu koju postaviš prije petlje na 1, a kojoj u if testu pridružuješ vrijednost 0 ako nije palindrom.

Poruka je uređivana zadnji put čet 1.11.2012 22:04 (Floki).
17 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
naxeem kaže...

Riješiš mu zadatke, položi i dobiješ još jednog tukca s bezvrijednom svjedodžbom ili diplomom. Nedavno je jedan na forumu tražio da mu riješe ulazni zadatak za razgovor za posao. Koliko daleko glupost ide...

Ma da, tako se ne radi, ne izbacuje monitor rješenja, ovaj dečko sa palindromom je druga priča. došao je sa svojim kodom, pomučio se za njega, pa kad se potrudio da skuži kolko je napisao, nije mi krivo i prenjeti mu ako znam, jer će naučiti.

Poruka je uređivana zadnji put čet 1.11.2012 22:30 (Floki).
14 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Napišite program koji rješava problem razmnožavanja zečeva pomoću rekurzivnog poziva funkcije, prema algoritmu:
- n je broj mjeseci koji je protekao od početka razmnožavanja, f(n) je broj parova zečeva nakon n mjeseci
- za n=0 i n=1, f(n)=n
- za n>1, broj parova zečeva je f(n) = f(n-1) + f(n-2)
Zatim napišite program koji isti problem rješava iterativno.
Kada unesem f(7)=16 , zar ne bih trebalo izbaciti 13?

 

#include<iostream>
using namespace std;
long int rekurzija(int n)
{
 if (n==0 || n==1)
  return 1;
 else
  return rekurzija(n-1)+(n-2);
}
void main()
{
 int x;
 cout<<"Unesite broj mjeseci: ";
 cin>>x;
 if(x<1)
 {
  cout<<"Unijeli ste neispravan broj.\n";
 }
 else
 {
  cout<<"Broj zeceva nakon: "<<x<<" mjeseca/i je: "<< rekurzija(x)<<"\n";
 }
 system("PAUSE");
}

Poruka je uređivana zadnji put pet 2.11.2012 13:23 (Broken).
 
0 0 hvala 0
16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Broken kaže...

Napišite program koji rješava problem razmnožavanja zečeva pomoću rekurzivnog poziva funkcije, prema algoritmu:
- n je broj mjeseci koji je protekao od početka razmnožavanja, f(n) je broj parova zečeva nakon n mjeseci
- za n=0 i n=1, f(n)=n
- za n>1, broj parova zečeva je f(n) = f(n-1) + f(n-2)
Zatim napišite program koji isti problem rješava iterativno.
Kada unesem f(7)=16 , zar ne bih trebalo izbaciti 13?

 

#include<iostream>
using namespace std;
long int rekurzija(int n)
{
 if (n==0 || n==1)
  return 1;
 else
  return rekurzija(n-1)+(n-2);
}
void main()
{
 int x;
 cout<<"Unesite broj mjeseci: ";
 cin>>x;
 if(x<1)
 {
  cout<<"Unijeli ste neispravan broj.\n";
 }
 else
 {
  cout<<"Broj zeceva nakon: "<<x<<" mjeseca/i je: "<< rekurzija(x)<<"\n";
 }
 system("PAUSE");
}

 

 

http://ideone.com/5OqmFA

 

evo ti rješenje:

 

 

#include<iostream>

using namespace std;

long int rekurzija(int n)

{

 if (n==0)

  return 0;

 

 else if(n==1)

 return 1;

 

 else

  return  rekurzija(n-1) + rekurzija(n-2) ;

}

 

int main()

{

 int x;

 cout<<"Unesite broj mjeseci: ";

 cin>>x;

 if(x<1)

 {

  cout<<"Unijeli ste neispravan broj.\n";

 }

 else

 {

  cout<<"Broj zeceva nakon: "<<x<<" mjeseca/i je: "<< rekurzija(x)<<"\n";

 }

 

 return 0;

 

}

 

Poruka je uređivana zadnji put pet 2.11.2012 13:53 (nik_02).
16 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Pitanje, kako da zapišem datum, a da poslije mogu ga usporediti s nekim   drugim datumom?

 

npr da mi se ispišu neke strukture koje imaju u sebi datum veći od 23.9.2012. , tj. znaci datum poslije od 23.9.2012?

 

ja sam pisal cin>>datum; (upisal bi npr 20121025) format god., mj., dan al to mi je malo glupo

Htio bi da mogu normalno napisati 25 10 2012   i onda usporediti s 23 09 2012, i ako je taj datum poslije njega da mi ga ispise?

 

 

Sex is like Nokia (connecting people), like Nike (just do it), like Pepsi (ask for more) and like Samsung ( everyone is invited)
 
0 0 hvala 0
17 godina
offline
Programiranje u C++-u - pitanja i odgovori

Ja bi ručno to ovako napisao:

 

1. dva int polja veličine 3

2. unos ovako cin>> polje[0]  >> polje[1] >> polje[2] (dakle unos spaceom dan mjesec godina)

3. pozvao bool funkciju Usporedba(int* polje1, int*  polje2)

4. u funkciji primjenio ovu logiku:

if(polje1[2]>polje2[2])

   return false;

else if(polje[1]<polje2)

   return true;

else

{

    if  (polje1[1]>polje2[1])

     return false;

    else if(polje[1]<polje2[1])

     return true;

    else

     {

       if(polje1[0]>=polje2[0])

         return false;

 

}

return true; // na kraju funkcije iza if grananja

 

Dakle, uspoređuje se drugi datum sa prvim - ako je veći vraća true

 

Ovako bi ja napravio ručno, a netko će već potegnuti ugrađene funkcije - nisam radio s njima.

 
2 0 hvala 1
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Varijacija na temu, ovaj puta sa strukturama:

 

#include <iostream>
#include <cstdlib>

using namespace std;

struct DATUM
{
       int dan,
           mjesec,
           godina;
};

/*
vrati 1 ako je d2 veci od d1
vrati 0 ako su datumi jednaki
vrati -1 ako je d2 manji od d1
*/
int usporedi(DATUM d1, DATUM d2)
{
    if (d2.godina > d1.godina)
       return 1;
    if (d2.godina == d1.godina)
    {
         if (d2.mjesec > d1.mjesec)
            return 1;
         if (d2.mjesec == d1.mjesec)
         {
              if (d2.dan > d1.dan)
                 return 1;
              if (d2.dan == d1.dan)
                 return 0;
         }
    }
   
    return -1;
}

int main()
{
    DATUM datum1={21, 12, 2012}, datum2;

    cout<<"Unesite danasnji datum: ";
    cin>>datum2.dan;
    cin>>datum2.mjesec;
    cin>>datum2.godina;
   
    if (usporedi(datum1, datum2)>0)
       cout<<"Cestitamo prezivjeli ste smak svijeta.\n";
    else
       cout<<"Smak svijeta vas tek ocekuje.\n";
   
    system("pause");
    return 0;
}

 

EDIT: znao sam da je prvobitno rješenje bilo prejednostavno da bi bilo točno, no dobro, sada bar radi kako treba...

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
Poruka je uređivana zadnji put pet 2.11.2012 23:13 (rustweaver).
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Ovo je odličan zadatak da si malo ponovim operatore {#}

 

#include <iostream>
using namespace std;

class Datum{
    private:
       int dan, mjesec, godina;
    public:
       Datum(){}
       Datum(int d, int m, int g) : dan(d), mjesec(m), godina(g) {}
       friend bool operator < (const Datum& d1, const Datum& d2);
       friend bool operator > (const Datum& d1, const Datum& d2);
       friend bool operator == (const Datum& d1, const Datum& d2);
       friend istream& operator >> (istream& izlaz, Datum& d);
       friend ostream& operator << (ostream& izlaz, Datum d);
};
bool operator < (const Datum& d1, const Datum& d2){
    if(d1.godina < d2.godina) return true;
    if(d1.mjesec < d2.mjesec) return true;
    if(d1.dan < d2.dan) return true;
    return false;
}
bool operator > (const Datum& d1, const Datum& d2){
    if(d1.godina < d2.godina) return false;
    if(d1.mjesec < d2.mjesec) return false;
    if(d1.dan <= d2.dan) return false;
    return true;
}
bool operator == (const Datum& d1, const Datum& d2){
    if(d1.godina == d2.godina && d1.mjesec && d2.mjesec && d1.dan == d2.dan)
       return true;
    return false;
}
istream& operator >> (istream& ulaz, Datum& d){
    ulaz >> d.dan >> d.mjesec >> d.godina;
    return ulaz;
}
ostream& operator << (ostream& izlaz, Datum d){
    izlaz << d.dan << "." << d.mjesec << "." << d.godina;
    return izlaz;
}
int main(){
    // test podaci
    Datum d1(1, 1, 1111), d2(2, 1, 1111), d3;
    if(d1 < d2)
       cout << d1 << " je manji od " << d2 << endl;
    if(d1 > d2)
       cout << d1 << " je veći od " << d2 << endl;
    if(d1 == d2)
       cout <<"Datumi su isti! " << endl;

    // test s unosom podataka
    cin >> d3;
    if(d1 < d3)
       cout << d1 << " je manji od " << d2 << endl;
    if(d1 > d3)
       cout << d1 << " je veći od " << d2 << endl;
    if(d1 == d3)
       cout <<"Datumi su isti! " << endl;
    return 0;
}

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
17 godina
offline
Programiranje u C++-u - pitanja i odgovori

Hm, Tracer je ovo riješio klasom, i preopterećenjem operatota, svaka čast{#}

 
1 0 hvala 2
16 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

To je to! Hvala svima  {#}

Sex is like Nokia (connecting people), like Nike (just do it), like Pepsi (ask for more) and like Samsung ( everyone is invited)
 
0 0 hvala 0
16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

riješeno je već prije ali evo ti još jedan način samo preko stringa.

u komentarima objašnjeno

 

#include <iostream>
#include <string>
#include <ctype.h>

using namespace std;

class Date {
public:
Date(string date);
~Date() {}

bool compare(Date& dateToCompare) const;
string getData(int index) {return data[index];}

private:
//array data velicina 3
//za dan , mjesec , godinu
//pri komparaciji imaju vaznost
//od kraja prema pocetku :: vidi nize
string data[3];

};

Date::Date(string date)
{
    //formiraj datum iz stringa
    //s isalnum zanemari interpunkciju
    int dateIndex = 0;
    for(int index = 0 ; index < 3 ; index++)
    {
        while( isalnum(date[dateIndex]) )
              {
                  data[index]+= date[dateIndex];
                  dateIndex++;
              }

              dateIndex++;
    }
}

bool Date::compare(Date& dateToCompare) const
{
    //kompariraj dva datuma
    // s kraja data[2] --- prema data[0]
    //veca je vaznost s desna prema lijevom
    // dan <--- mjesec <--- godina
    for(int i = 2; i > -1 ; i--)
    {
        if( data[i] > dateToCompare.data[i])
        return true;

        else if( data[i] == dateToCompare.data[i])
        continue;

        else
        return false;
    }

    cout<<" jednaki su ";
    return false;
}

int main()
{
    cout<<"format datuma za unos 12.11.2008" << endl;
    cout<<"upisi prvi datum : ";
    string datum1;
    cin>> datum1;
    cout<<"upisi drugi datum : ";
    string datum2;
    cin>> datum2;

    Date Datum1(datum1);
    Date Datum2(datum2);

    cout<< boolalpha;
    cout<< "prvi je datum veci ? : " <<
           Datum1.compare(Datum2);


    return 0;
}

 

 

http://ideone.com/rV5QLf

 

 

 

Poruka je uređivana zadnji put sub 3.11.2012 8:16 (nik_02).
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

sada otvaram procese s ovim kodom:

 

HWND handle = FindWindow(0 ,TEXT("Internet explorer"));

GetWindowThreadProcessId(handle,&ID);

HANDLE hProcess = OpenProcess(PROCESS_VM_WRITE|PROCESS_VM_OPERATION|PROCESS_VM_READ, FALSE,ID);

 

hoću ovo modificirati da ne otvaram po imenu aplikacije, nego po imenu procesa, npr ovdje ie.exe

nisam baš uspio naći korisnih stvari na googlu :( može pomoć :)

 
0 0 hvala 0
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

WinExec("C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe", SW_SHOW);

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

ne kužim kak bi ti to točno napisao u programu? di je tu ID...?

Poruka je uređivana zadnji put ned 4.11.2012 15:52 (LFS racer).
 
0 0 hvala 0
14 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Pa dao sam ti točnu liniju coda koju trebaš napisati. Ako baš inzistiraš na CreateProcess funkciji onda;

 

STARTUPINFO startInfo;
PROCESS_INFORMATION processInfo;
char CommandLine[255] = "C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe";

GetStartupInfo(&startInfo);
if (!CreateProcess(NULL, CommandLine, NULL, NULL, FALSE, 0, NULL, NULL, &startInfo, &processInfo)) {
    // Ne mogu kreirati proces!
}

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
Poruka je uređivana zadnji put ned 4.11.2012 16:04 (TracerCPP).
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
LFS racer kaže...

sada otvaram procese s ovim kodom:

 

HWND handle = FindWindow(0 ,TEXT("Internet explorer"));

 

GetWindowThreadProcessId(handle,&ID);

HANDLE hProcess = OpenProcess(PROCESS_VM_WRITE|PROCESS_VM_OPERATION|PROCESS_VM_READ, FALSE,ID);

 

 

hoću ovo modificirati da ne otvaram po imenu aplikacije, nego po imenu procesa, npr ovdje ie.exe

nisam baš uspio naći korisnih stvari na googlu :( može pomoć :)

Čekaj malo, ti želiš dobiti handle od nekog procesa koji je već pokrenut?

 

Pogledaj EnumProcesses funkciju

 

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

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

EnumProcesses je samo brojanje. Npr;

 

#include <windows.h>
#include <iostream>
using namespace std;

bool CALLBACK EnumWndProc( HWND hwnd, LPARAM lParam ){
    char buffer[512], name[256];
    GetWindowText( hwnd, buffer, 512 );
    GetWindowText(hwnd, name, 255);
    // if window title is not empty string...
    if (strlen(name) > 0)
       cout << buffer << endl;
    return true;
}
int main(){
    EnumWindows((WNDENUMPROC)EnumWndProc,NULL);
    return 0;
}

Ako se baš želi naći handle procesa onda to ide preko caption-a (FindWindow).

 

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
E-mail:
Lozinka:
 
vrh stranice