Programiranje u C++ (lagani zadaci)

poruka: 57
|
čitano: 57.979
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
12 godina
neaktivan
offline
Re: Programiranje u C++ (lagani zadaci)
TracerCPP kaže...

I po milijunti put -  Gdje si točno zapeo? Gdje je code koji si do sada napisao?

Kako gdje? Zašto bi ga on pisao kad na tamonekomhakerskom forumu ima geekova koji samo sjede i tipkaju. :)

 

@crespo

Kad pokažeš svoj kôd (ne znam imaš li uopšte), ja ću ti zalijepiti ovdje svoj, program sam sad napisao.

 

Poruka je uređivana zadnji put sub 12.10.2013 19:48 (royalhero).
10 godina
neaktivan
offline
Re: Programiranje u C++ (lagani zadaci)

pa to i je problem,početnik sam,srednja škola i loše nam je objašnjeno....neznam ni kako zapoceti,zanima me kako da napravim polje za objekte...znaci neznam kako da mi zapamti marku auta 

kada je kilometraza najveca ili u drugom kad je potrosnja najveca pa da mi ispadne po onom dolje principu tj, primjeru kojeg sam dao...glupo mi je stavljat code kad je totalno beskorisan i nema veze s vezom,ali evo stavit cu...posto pojma nemam ja bi trebao nekog da mi napisa taj dio sa provjeravaljem koji je najveci i spremanjem cijelog objekta(marka,km,potrosnja) ili kako vec to ide.Inace se mucim cijeli dan i pokusavam svatiti,gledam tuturijale,ali tamo su samo osnove osnova koje ne znam kako bi primjenio na ovom zadatku, da netko mozda ne misli da zelim gotovu stvar.

 

 

 

 

Unaprijed hvala

 

ovo su inace pokusaji da probaj skuziti koncepciju a ne zadatak,ali nejde

 

klasa

class automobil

{

public:

int km;

char marka[100];

double potrosnja;

 

automobil(void)

{

}

 

~automobil(void)

{

}

};

 

 

 

 

main dio

 

#include "stdafx.h"

#include"automobil.h"

#include<iostream>

using namespace std;

 

int _tmain(int argc, _TCHAR* argv[])

{

automobil a1;

int N,i,k,min,max;

char polje[100];

cin>>N;

 

 

for(i=0;i<N;i++)

{

cin>>a1.marka;

cin>>a1.km;

cin>>a1.potrosnja;

 

if(i==0)

{

max=a1.km;

min=a1.potrosnja;

}

 

if(max<a1.km)max=a1.km;

if(min<a1.potrosnja)min=a1.potrosnja;

 

}

 

 cout<<"min:"<<min<<"max:"<<max;

return 0;

}

 

12 godina
neaktivan
offline
Re: Programiranje u C++ (lagani zadaci)

Kao što praviš polje za intove ili float, možeš i za tvoj tip podatka, tj. klasu.

 

Dobivanje auta koje najviše troši i koje je najviše prešlo sam dobio tako što sam sortirao polje po uzlaznoj putanji, pa uzmem zadnji član. Tako za oba kriterija.

 

Ja sam to radio sa stringom, ti sredi to oko upisa.

#include<iostream>
#include<cstdlib>
#include<string>

using namespace std;

class Auto
{
public:
    string ime;
    int km;
    float potrosnja;
};

int main()
{
    int n;
    cout<<"Unesite broj automobila!"<<endl;
    cin>>n;

    Auto* auta = new Auto[n];

    for(int i = 0; i<n; i++)
    {
       Auto automobil;
       cout<<"Ime"<<endl;
       cin>>automobil.ime;

       cout<<"Kilometraza"<<endl;
       cin>>automobil.km;

       cout<<"Potrosnja"<<endl;
       cin>>automobil.potrosnja;

       cout<<endl;

       auta[i] = automobil;
    }


    //sortiranje po kilometrazi
    for(int i = 0; i<n-1; i++)
    {
       for(int j = 0; j<n-1-i; j++)
       {
          Auto temp;

          if(auta[j+1].km < auta[j].km)
          {
             temp = auta[j];
             auta[j] = auta[j+1];
             auta[j+1] = temp;
          }
       }
    }

    cout<<"Auto koje je najviše prešlo je "<<auta[n-1].ime<<endl;

    //sortiranje po potrosnji
    for(int i = 0; i<n-1; i++)
    {
       for(int j = 0; j<n-1-i; j++)
       {
          Auto temp;

          if(auta[j+1].potrosnja < auta[j].potrosnja)
          {
             temp = auta[j];
             auta[j] = auta[j+1];
             auta[j+1] = temp;
          }
       }
    }

    cout<<"Auto koje najviše troši "<<auta[n-1].ime<<endl;

    delete[] auta; //oslobađanje memorije, nemoj ovo zaboraviti

    system("PAUSE");
    return 0;
}

Poruka je uređivana zadnji put sub 12.10.2013 21:57 (royalhero).
10 godina
neaktivan
offline
Re: Programiranje u C++ (lagani zadaci)

samo da kazem da ne mislim da je itko na ovom forumu geek,naprotiv cijenim programere i ljude iz IT-a jer smatram da nema svatko kliker u glavi za takav

način razmišljanja,ja ga nemam zato sam se okrenuo drugim stvarima koje mi idu,ali ovo moram nekako nauciti i vjerujte mi uvijek dajem sve od sebe i uvijek sam pokusam. Ja cu razumijeti ako mi ne zelite pomoci i necu se ljutiti jer znam

da Vam je dosta takvih upita za pomoc....u svakom slucaju hvala sto se uopce usli u razgovor ....zivjeli!

 

 

to sam napisao prije,jer nisam vidio odgovor......puno ti hvala

Poruka je uređivana zadnji put sub 12.10.2013 21:33 (crespo).
12 godina
neaktivan
offline
Re: Programiranje u C++ (lagani zadaci)

Bio sam zaboravio osloboditi memoriju, dodaj delete[] auta na kraju kôda, kao što gore sada i jeste.

13 godina
neaktivan
offline
Programiranje u C++ (lagani zadaci)

napravim niz tako da korisnik po volji ucitava 10 razlciitih brojeva,a sad treba od tih 10 ispisat najveci i onaj najmanji,kako ide algoritam za max i min? koja je kljucna rijec? ne mogu nigdje pronaci... :(

Poruka je uređivana zadnji put sub 30.11.2013 18:21 (mojsije1234).
Moj PC  
0 0 hvala 0
12 godina
neaktivan
offline
Re: Programiranje u C++ (lagani zadaci)
mojsije1234 kaže...

napravim niz tako da korisnik po volji ucitava 10 razlciitih brojeva,a sad treba od tih 10 ispisat najveci i onaj najmanji,kako ide algoritam za max i min? koja je kljucna rijec? ne mogu nigdje pronaci... :(

Postaviš u neku varijablu max prvi član i prolaziš petljom kroz niz, provjeravaš da li je element niza sa tim indeksom veći od max varijable, ako jeste postavljaš vrijednost varijable max na vrijednost tog elementa. Isto i za najmanji element.

Crk'o Marshall!
13 godina
neaktivan
offline
Programiranje u C++ (lagani zadaci)

hmm a kak napisat algoritam za zbroj svih  prirodnih dvoznamenkastih brojeva?

 

Moj PC  
0 0 hvala 0
15 godina
offline
Re: Programiranje u C++ (lagani zadaci)

#inlude <iostream>

 

using namespace std;

 

int main()

{

int zbroj = 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 +22 + 23 + 24 + 25 + 26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 + 38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 + 58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70+ 71 +72 +73 +74 +75 +76 +77 + 78+ 79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99;

cout<< zbroj << endl;

 

return 0;

}

You can patch technical vulnerabilities as they evolve, but there is no patch for stupidity, or rather gullibility. - Kevin Mitnick
13 godina
neaktivan
offline
Re: Programiranje u C++ (lagani zadaci)

pa to znam i ja ,al nisam tako mislio ....  mislio sam na neki mnogo brzi nacin ... tipa sigurno nebi to radio da imas  zbroj prvih 150  000 prirodnih brojeva ,di bi stigo... mislio sam jel se moze kako na brzi nacin,pomocu petlji  na neku foru il nesto... tipa napravim petlju da ispise  dvoznamenkaste brojeve i kako dalje ? 

int ispis;

   cout<<"dvoznamenkastih N brojeva je 90! " <<endl;

   int i=9;

   for (;i<99;i++)

     {

       ispis=i+1;

       cout<<ispis<<endl;

}

 

jel zna neko kako to sredit?

Poruka je uređivana zadnji put sri 18.12.2013 17:01 (mojsije1234).
15 godina
offline
Re: Programiranje u C++ (lagani zadaci)

Ubaci ovaj int i = 9 u for petlju, nema smisla da stoji van nje.

 

Uglavnom, pa razmisli. Imaš sve samo još trebaš jednu varijablu u koju pridodao vrijednost i-a.

 

Prepravi for u

for (int i = 10; i<100, i++)

{

 //neki kod

}

I sad, van for trebaš deklarirati i inicijalizirati neku varijablu, recimo

int zbroj = 0;

I onda u tu varijablu unutar for petlje jednostavno nadodati vrijednost i. Znači, nova vrijednost je jednaka staroj vrijednosti uvećanoj za vrijednost varijable i. Jezik, odnosno komajler, radi na način da prvi evaluira izraz, a onda ga spremi u varijablu. Primjerice,

int a = 0;

int b = 5;

a = b + 2;

Kompajler će prvo zbrojiti b, koji ima vrijednost 5 (to kod tebe jest stara vrijednost), i broj 2, što daje 7, a onda će tu vrijednosti spremiti u varijablu a (kod tebe nova vrijednost). Eh, sada, što ako odjednom nemaš više varijablu a, a svejedno moraš spremiti tu novu vrijednost negdje, gdje bi je spremio? Što ti jedino dohvatljivo u ovom gore snippetu?

 

You can patch technical vulnerabilities as they evolve, but there is no patch for stupidity, or rather gullibility. - Kevin Mitnick
11 godina
offline
Re: Programiranje u C++ (lagani zadaci)
mojsije1234 kaže...

pa to znam i ja ,al nisam tako mislio ....  mislio sam na neki mnogo brzi nacin ... tipa sigurno nebi to radio da imas  zbroj prvih 150  000 prirodnih brojeva ,di bi stigo... mislio sam jel se moze kako na brzi nacin,pomocu petlji  na neku foru il nesto...

 

Funkcija racuna zbroj izmedju k<n, ukljucivo s k i n, na mnogo brzi nacin, rekao si da moze i na neku foru. {#}

unsigned int zbrojIzmedju(unsigned int k, unsigned int n){    if (n<=k)       return 0;    return (n+k)*(n-k+1)/2;}

Poruka je uređivana zadnji put sri 18.12.2013 23:46 (CyberK).
13 godina
neaktivan
offline
Programiranje u C++ (lagani zadaci)
hvala svima :D u meduvremenu sam skuzio kako ide ,al hvala svima na odgovoru jos jednom :)
Moj PC  
0 0 hvala 0
10 godina
neaktivan
offline
Programiranje u C++ (lagani zadaci)

Mene zanima jedna stvarčica koja me muči već neko vrijeme... naime, imam zadatak da u C++ napišem program koji učitava 7 brojeva i ispisuje drugi najmanji, odnosno treći najmanji... patim se s tim već neko vrijeme, ali nikako da ga uradim da mi 100% radi. I mene sada zanima jel postoji mogućnost da se taj program ovako napiše kako sam ga ja zamislio..

 

Prvo nađemo najmanji broj, što je zapravo lako, i da se onda opet traži najmanji broj od tih preostalih, NE RAČUNAJUĆI TAJ VEĆ NAĐENI NAJMANJI, a onda kada budem tražio treći najmanji da se opet to ponovi, naravno ne računajući prva dva najmanja... problem je što sam tek zagazio malo u C++ i ne znam kako ideju još da prebacim u kod, pa ako mi neko može odgovoriti na ovo ili mi poslati neke linkove vezane za ovaj zadatak mnogo bi mi značilo... {#}

 

Pozdrav {#}

 
0 0 hvala 0
15 godina
neaktivan
offline
Programiranje u C++ (lagani zadaci)

Deklariras array niz koji ima 7 clanova, dodas u njega nekih sedam brojeva, sortiras ih od najmanjeg prema najvecem i onda ispises niz[1] i niz[2]. 

Moj PC  
0 0 hvala 0
10 godina
neaktivan
offline
Re: Programiranje u C++ (lagani zadaci)

a može li se to ikako napisati sa petljom for, uvjetima if i else bez sortiranja i nizova i polja? jer fazon je što ima taj zadatak u ovoj knjizi "Naučite programirati uz C++" i do tog zadatka je rađeno ovo navedeno... i sasvim sam zbunjen za sad... {#}

trudim se.. :P
10 godina
neaktivan
offline
Re: Programiranje u C++ (lagani zadaci)

E, ovako se pravi sortiranje:

 

int main()

{

int polje[7];  //polje za unos

for(int x=0;x<7;++x)

cin>>polje[x];

int p; //zamjenska varijabla

for(int x=0;x<7;++x)

{

for(int o=0;o<7;++o)

{

 

if(polje[x]>polje[o])

{

polje[x]=p;

polje[x]=polje[o];

polje[o]=p;

}

 

}

}

cout<<polje[1]<<endl<<polje[2]<<endl;

system("pause");

return 0;

}

 

 

Ne postoji zaobilaznica oko ovog zadatka (osim tvoje ideje).

Sretno u školi {#}!!!!

LP-Linkin Park
10 godina
neaktivan
offline
Re: Programiranje u C++ (lagani zadaci)

Moguće je da postoji mala greška, pošto nisam provjeravao u C++ -u {#}.

LP-Linkin Park
10 godina
neaktivan
offline
Programiranje u C++ (lagani zadaci)

Sve u svemu ovaj zadatak ne bi trebao da bude u tom dijelu knjige... OSIM, ako iskoristimo ovaj prljavi trik..

#include <iostream>

using namespace std;

int main()

int prvi, drugi, novi; 

cout << "Upisite 5 brojeva:" << endl;

 

prvi = drugi = 1000000; 

for (int i = 0; i < 5; i++) 

cin >> novi; 

if (novi < prvi)

 {  

drugi = prvi; 

prvi = novi; 

}

 else if (novi < drugi)

 { 

drugi = novi; 

}

cout << "Drugi najmanji: " << drugi << endl;

 

al nije to to :D

trudim se.. :P
 
0 0 hvala 0
11 godina
offline
Re: Programiranje u C++ (lagani zadaci)
anton.mi97 kaže...

a može li se to ikako napisati sa petljom for, uvjetima if i else bez sortiranja i nizova i polja? jer fazon je što ima taj zadatak u ovoj knjizi "Naučite programirati uz C++" i do tog zadatka je rađeno ovo navedeno... i sasvim sam zbunjen za sad... {#}

Moze se, dapace, ja to ne bi ni radio preko sortiranja - 7 je mali broj, pa je svejedno, ali za veci broj elemenata je to neefikasno. Radis isto kao i za minimum: pamtis 3 najmanja i ides kroz listu i updateas ta 3. Uopce ti onda ne treba polje.

10 godina
neaktivan
offline
Re: Programiranje u C++ (lagani zadaci)

Baš sam krenuo da to postam jer sam se maloprije tog sjetio, al si me pretekao! {#}

EVO GA LJUDI NAPOKON!! xD

 

 

#include <iostream>

using namespace std;

 

int main()

{

double prvi;

double drugi;

double uneseno;

double a;

double b;

 

cout << "Unesite 7 brojeva: " << endl;

cin >> prvi;

cin >> drugi;

 

if (prvi>drugi)

{

a=prvi;

b=drugi;

prvi=b;

drugi=a;

}

 

for (int i=1;i<=5;i++)

{

cin >> uneseno;

if (uneseno < prvi)

{

drugi=prvi;

prvi=uneseno;

}

 

if (uneseno > prvi && uneseno < drugi)

drugi=uneseno;

}

cout << "Drugi najmanji je: " << drugi << endl;

}

 

 

Jedino bi se možda nekako drugačije mogla izvršiti ova zamjena varijabli, prve i druge, bez dodatnih varijabli a i b... al ne bih znao kako.. ako bi mi još to neko mogao dodati bio bi veoma zahvalan, ali bez obzira na sve sada mogu mirno spavati nakon 4 dana!! ŽIVJELI! {#}

trudim se.. :P
11 godina
offline
Re: Programiranje u C++ (lagani zadaci)
anton.mi97 kaže...

Jedino bi se možda nekako drugačije mogla izvršiti ova zamjena varijabli, prve i druge, bez dodatnih varijabli a i b... al ne bih znao kako.. ako bi mi još to neko mogao dodati bio bi veoma zahvalan, ali bez obzira na sve sada mogu mirno spavati nakon 4 dana!! ŽIVJELI! {#}

http://en.wikipedia.org/wiki/XOR_swap_algorithm

10 godina
neaktivan
offline
Programiranje u C++ (lagani zadaci)

Evo i za treći najmanji kako sam uradio... ista šema, samo malo kompliciranije... opet me zeza ova zamjena vrijednosti varijabli :P

 

 

#include <iostream>

using namespace std;

 

int main()

{

double prvi;

double drugi;

double treci;

double a, b, c;

double uneseno;

 

cout << "Unesite 7 brojeva: " << endl;

cin >> prvi;

cin >> drugi;

cin >> treci;

 

if (prvi>drugi)

{

a=prvi;

b=drugi;

 

prvi=b;

drugi=a;

}

if (treci<prvi)

{

a=prvi;

b=drugi;

c=treci;

 

prvi=c;

drugi=a;

treci=b;

}

if (treci>prvi && treci<drugi)

{

b=drugi;

c=treci;

 

treci=b;

drugi=c;

}

 

for (double i=1;i<=4;i++)

{

cin >> uneseno;

 

if (uneseno<prvi)

{

a=prvi;

b=drugi;

 

prvi=uneseno;

drugi=a;

treci=b;

}

if (uneseno>prvi && uneseno<drugi)

{

b=drugi;

 

drugi=uneseno;

treci=b;

}

if (uneseno>prvi && uneseno>drugi && uneseno<treci)

treci=uneseno;

}

cout << "Treci najmanji je: " << treci << endl;

}

trudim se.. :P
 
0 0 hvala 0
10 godina
neaktivan
offline
Re: Programiranje u C++ (lagani zadaci)

budem pokušao nešto sutra ujutro... sad je vrijeme za {#}... Hvala svakako! {#}

trudim se.. :P
16 godina
neaktivan
offline
Programiranje u C++ (lagani zadaci)

Probaj ovako da sve tri varijable inicijaliziraš na max int i onda sa if else pridružuješ vrijednosti varijablama ovisno o unosu.

 

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


int main()
{
    int najmanji = INT_MAX, drugiNajmanji = INT_MAX, treciNajmanji = INT_MAX;
    int broj;
    for (int i = 0; i < 7; i++)
    {
       cin >> broj;
       if (broj < najmanji)
       {
          treciNajmanji = drugiNajmanji;
          drugiNajmanji = najmanji;
          najmanji = broj;
       }
       else if (broj < drugiNajmanji)
       {
          treciNajmanji = drugiNajmanji;
          drugiNajmanji = broj;
       }
       else if (broj < treciNajmanji)
       {
          treciNajmanji = broj;
       }
    }
    cout << drugiNajmanji << " " << treciNajmanji << endl;
    return 0;
}

Poruka je uređivana zadnji put čet 9.1.2014 14:52 (Floki).
 
0 0 hvala 0
10 godina
neaktivan
offline
Re: Programiranje u C++ (lagani zadaci)

može i to proći, dapače, još je lakše i uradio sam skoro tako, samo što sam inicijalizirao prve 3 varijable ručno sa ono nekim velikim brojem tipa 9999999999999 (prljavi trik, znam) ali ova moja metoda mi je trenutno bolja jer nam nije još obrađeno to inicijaliziranje na max int, i to u početku #include <climits> (to vjerovatno ide skupa), ali hvala puno u svakom slučaju, uvijek dobro dođe imati neki zadatak urađen na više načina. {#}

trudim se.. :P
13 godina
neaktivan
offline
Re: Programiranje u C++ (lagani zadaci)
#include <iostream>
#include <vector>
using namespace std;
int main()
{
   cout << "unesi 7 brojeva: " << endl;
   vector <int> sedambrojeva(7);
   for (int i=0;i<7;i++)
   {
     cin >> sedambrojeva[i];
   }
   int najmanji =sedambrojeva[0];
   for (int i=0;i<7;i++)
{
  if (sedambrojeva[i]<najmanji)
  {
    najmanji=sedambrojeva[i];
  }
}
cout<<"prvi po redu najmanji jest: "<<najmanji <<endl;
   return 0;
Eto to ti je uz pomoc vectora(i for petlji naravno ) napravljeno za ispis prvog po redu najmanjeg... sam zakljuci sta treba napravit da ispise i drugi po redu najmanji :)
edit: pretpostavljam da ne znas pa cu ti dat maliii hint :D : moras/mozes napravit jos jedno polje (jos jedan vector)  koje ce ti slzuit za nekakvu usporedbu   (varijacija na temu prvog),a ti sam shvati šta konkretno s čim :D  
Poruka je uređivana zadnji put sub 18.1.2014 12:18 (mojsije1234).
Nova poruka
E-mail:
Lozinka:
 
vrh stranice