C++ Pomoc!

poruka: 30
|
čitano: 6.418
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
8 godina
neaktivan
offline
C++ Pomoc!

Pozdrav 

 

radim na jednom projektu i zapeo sam treba mi pomoc da kad metak dotakne cudoviste da se u "brojMetaka" doda jedan broj + npr pogodi ga jednom piše 1 dvaput piše 2 krenio sam raditi na ovakav nacin ali nikako mi ne ide tek sam poceo programirati ucim se jos pomoc!!!

using UnityEngine;
using System.Collections;


public class Metci: MonoBehaviour {
public int brojMetaka = 0 ;
public int Metak_layer = 13;


// Use this for initialization
void Start () {

}

// Update is called once per frame
void update ()
{

}
void OnTriggerEnter2D(Collider2D other)
{

if (other.gameObject.layer == 13)
}

}

 
0 0 hvala 0
10 godina
neaktivan
offline
C++ Pomoc!

Za ovakva pitanja preporučujem ti stackoverflow.com meni je puno pomogao sa programiranjem u C#, veoma brzo možeš doći do veoma kvalitetnih odgovora.

 

 
2 0 hvala 1
10 godina
neaktivan
offline
Re: C++ Pomoc!

Gdje ti javlja gresku, sta ne radi... Malo detaljnije opisi

8 godina
neaktivan
offline
Re: C++ Pomoc!

Nema greške želim da kad "metak" dotakne "čudovište" da se u ovaj brojMetaka doda jedan broj znaci ako ga metak dotakne jednom pise 1 ako ga drugi metak dotakne da pise 2 itd 

samo tek sam poceo se uciti o programiranju i neznam bas kako bi to mogu ja nakon svega napisati brojMetaka = +1; ali onda ce uvjek kad metak pogodi govoriti broj metaka je 1 kad ga drugi pita pogodi opet ce reci broj metaka je 1 ako slucajno znas sta bi trebo napraviti pomozi molim te

10 godina
neaktivan
offline
Re: C++ Pomoc!

brojMetaka+=1;

8 godina
neaktivan
offline
Re: C++ Pomoc!

svaka cast hvala ti punoooo!!!

16 godina
offline
C++ Pomoc!

Korak po korak. Prouči pa se onda baci na "projekte".

 
0 0 hvala 0
6 godina
neaktivan
offline
C++ Pomoc!

Treba mi pomoc za jedan zadatak:

Treba odrediti nekoliko posljednjih cifara stepena nekog prirodnog broja. Sa tastature ucitavamo 3 prirodna broja x,n,k. na ekranu treba ispisati posljenjih k cifara broja x^n.

Npr:

Ulaz

6

3

2

Izlaz

16

 

Ja sam ovako uradila:

#include<iostream>
#include<math.h>

using namespace std;

int main ()
{
int x,n;
int k, d;
double m,l;
cout<<"Unesite X: ";
cin>>x;
cout<<"Unesite N: ";
cin>>n;
cout<<"Unesite K: ";
cin>>k;

m=pow(x,n);
l=pow(10,k);

d=int(m)%int(l);

cout<<d<<endl;


system ("pause");
return 0;
}

 

Program radi za manje brojeve, ali kada unesem x=9,n=10,k=3 dobijem -648 i ako je x=11,n=5,k=3 dobijem 51 a trebalo bi 051 (trebalo bi i da nulu uzme u obzir)

Hvala !!

 
0 0 hvala 0
12 godina
neaktivan
offline
Re: C++ Pomoc!

9^10 = 3 486 784 401

sizeof(int) = 4byte  = 32 bit => 2^32 = 4 294 967 296 => ovo vrijedi za unsigned int ako je signed onda je 2 147 483 648 za pozitivne vrijednosti

 

znači 9^10 je više nego šta signed int može primit

 

d=int(m)%int(l);  promijeni u npr :   d=long(m)%long(l);

 

Tj ovisno s kojim maksimalnim vrijednostima želiš da program radi koristi prikladne tipove varijabli.

 

Još: double varijable ti ne trebaju kad množiš ili potenciraš cijele brojeve a i % operator nije definiran za double varijable.

 

Promijeniš deklaracije varijabli m i l u long i nema potrebe za castanjem kod % operatora.

 

 

Ispis:

Primjer uzet sa : https://stackoverflow.com/questions/1714515/how-can-i-pad-an-int-with-leading-zeros-when-using-cout-operator

 

Tvoje rješenje:

 

#include<iostream>
#include<math.h>
#include <iomanip>
using namespace std;
int main ()
{
int x,n;
int k, d;
long m,l;
cout<<"Unesite X: ";
cin>>x;
cout<<"Unesite N: ";
cin>>n;
cout<<"Unesite K: ";
cin>>k;

m=pow(x,n);
l=pow(10,k);

d=m%l;

cout<< setfill('0') << setw(k) << d << endl;

return 0;
}

Poruka je uređivana zadnji put uto 1.8.2017 10:11 (Ajmodaj).
6 godina
neaktivan
offline
Re: C++ Pomoc!

i

Poruka je uređivana zadnji put uto 1.8.2017 10:29 (#123CPP).
6 godina
neaktivan
offline
Re: C++ Pomoc!

Sada sam to tako napisala i ponovo ne radi kako treba. Kada unesem 

6

3

2

 

dobijem 18, a treba 16. Pokusala sam da napisem jednostavan program koji ce da izracuna pow(10,k) i ako stavim da je k=2 dobijem 99, za k>2 radi

Hvala

12 godina
neaktivan
offline
Re: C++ Pomoc!
Ovo je izlaz s konzole u mom slučaju:
Unesite X: 6                                                                                                                                           
Unesite N: 3                                                                                                                                           
Unesite K: 2                                                                                                                                           
16   
Jel možeš copypaste cijeli kod od ovoga di ti ispada 18?
6 godina
neaktivan
offline
Re: C++ Pomoc!

#include<iostream>
#include<math.h>
#include <iomanip>
using namespace std;
int main ()
{
int x,n;
int k, d;
long m,l;
cout<<"Unesite X: ";
cin>>x;
cout<<"Unesite N: ";
cin>>n;
cout<<"Unesite K: ";
cin>>k;
m=pow(x,n);
l=pow(10,k);
d=m%l;
cout<< setfill('0') << setw(k) << d << endl;

system ("pause");
return 0;
}

 

ovako sam napisala,a pokusala sam i jedan program koji radi za sve broeve osim za 2

#include<iostream>
#include<math.h>
#include <iomanip>
using namespace std;
int main ()
{
int n;
cin>>n;
int d;

d=pow(10,n);

cout<<d<<endl;

 

system ("pause");
return 0;
}

kada napisem da je n=2 izbaci mi 99, za ostale brojeve radi

Poruka je uređivana zadnji put uto 1.8.2017 10:48 (#123CPP).
12 godina
neaktivan
offline
Re: C++ Pomoc!

Dodaj ispis varijabli m i l iza pow funkcija (cout) pa pošalji izlaz s konzole za slučaj 6,3,2

 

Možeš probat i ovo:

 

#include<iostream>
#include<math.h>
#include <iomanip>
using namespace std;

int clc(int x, int n, int k){
long m, l;
if(n == 2){
m = x * x;
}else{
m = pow(x,n);
}

if(k == 2){
l = 10 * 10;
}else{
l = pow(10,k);
}

cout << "m = " << m << endl;
cout << "l = " << l << endl;

return m%l;
}

int main ()
{
int x, n, k;
cout<<"Unesite X: ";
cin>>x;
cout<<"Unesite N: ";
cin>>n;
cout<<"Unesite K: ";
cin>>k;

cout<< setfill('0') << setw(k) << clc(x, n, k) << endl;

return 0;
}

Poruka je uređivana zadnji put uto 1.8.2017 11:21 (Ajmodaj).
6 godina
neaktivan
offline
Re: C++ Pomoc!

Hvala, radi sada

6 godina
neaktivan
offline
Re: C++ Pomoc!
Da li bi mi mogao pomoci kako da pretvorim dekadni broj u binarni,a da je princip isti iz dekadnog u oktalni. Ne znam kako da ostatke pri djeljenju spojim u jedan broj
12 godina
neaktivan
offline
Re: C++ Pomoc!
Daj kod koji imaš do sad pa ti pomognem
12 godina
neaktivan
offline
Re: C++ Pomoc!

Skype?

Poruka je uređivana zadnji put sri 2.8.2017 11:40 (Ajmodaj).
16 godina
neaktivan
offline
Re: C++ Pomoc!
#123CPP kaže...
Da li bi mi mogao pomoci kako da pretvorim dekadni broj u binarni,a da je princip isti iz dekadnog u oktalni. Ne znam kako da ostatke pri djeljenju spojim u jedan broj

Pomnoži broj sa 10 i dodaj modulo 2 ili 8 ovisno koje pretvaranje vršiš.

 

while (dekadski > 0)

     binarni = dekadski % baza + binarni * 10

     dekadski = dekadski / baza

Poruka je uređivana zadnji put sri 2.8.2017 11:56 (Floki).
12 godina
neaktivan
offline
Re: C++ Pomoc!
Floki kaže...
#123CPP kaže...
Da li bi mi mogao pomoci kako da pretvorim dekadni broj u binarni,a da je princip isti iz dekadnog u oktalni. Ne znam kako da ostatke pri djeljenju spojim u jedan broj

Pomnoži broj sa 10 i dodaj modulo 2 ili 8 ovisno koje pretvaranje vršiš.

 

while (dekadski > 0)

     binarni = dekadski % baza + binarni * 10

     dekadski = dekadski / baza

 Zbog ovog podebljanog bi tia vidit dosadasnji kod, izgleda mi da je taj dio rješen koji si napisa

6 godina
neaktivan
offline
Re: C++ Pomoc!

  binarni = dekadski % baza + binarni * 10

to ne razumijem, kako binarni*10 kada ne znam koji je to broj

12 godina
neaktivan
offline
Re: C++ Pomoc!

10 u bin = 

 

10 /2 = 5 ost 0

5/2 = 2   ost 1

2/2 = 1   ost 0

1/2 = 0   ost 1

 

bin = 1010 ( od zadnjeg ostatka prema prvome)

 

 

sa %

 

10 %2 = 0

5%2 =   1

2%2 =   0

1%2 =   1

 

 

bin = 1010 ( od zadnjeg ostatka prema prvome

 

 

1010 bin u dek = 

 

 

1 * 2^3 + 0 * 2^2 + 1*2^1 + 0 * 2^0 = 8 + 0 + 2 +0 = 10

Poruka je uređivana zadnji put sri 2.8.2017 12:33 (Ajmodaj).
6 godina
neaktivan
offline
Re: C++ Pomoc!

Ali kako da te ostatke napisem kao jedan broj ?

12 godina
neaktivan
offline
Re: C++ Pomoc!

mozes ostatak pretvorit u string i konkatenirat string, mozes pisat u integer array pa svaki ostatak dodat u array, ovisi o razini tvoga znanja 

 

16 godina
neaktivan
offline
Re: C++ Pomoc!
#123CPP kaže...

Ali kako da te ostatke napisem kao jedan broj ?

 Pa lijepo da nadogradiš broj, dao sam ti algoritam za nadogradnju broja kojeg moraš prilagoditi radi specifičnih modula.

 

#include<iostream>

using namespace std;


int main()
{
   int broj = 3, binarni = 0, baza = 2, mjesto = 1;
   while (broj > 0)
   {
      binarni += (broj % baza) * mjesto;
      broj /= baza;
      mjesto *= 10;
   }
   cout << binarni << endl;
   return 0;
}

Poruka je uređivana zadnji put sri 2.8.2017 13:02 (Floki).
6 godina
neaktivan
offline
Re: C++ Pomoc!

Hvala !!

16 godina
neaktivan
offline
Re: C++ Pomoc!
#123CPP kaže...

Hvala !!

 To se klikne na button hvala, da malo popravim score sa zvjezdicama, dok mi neki opakonja administraror ne popapa koju dijeljenjem kartona.

6 godina
neaktivan
offline
Re: C++ Pomoc!

Potrebna mi je pomoc oko zadatka. Imam jedan niz od n prirodnih brojeva, koje treba podijeliti u dva niza(A i B) tako da članovi tih nizova (niza A i B) kada se saberu budu jednaki ili da razlika  zbirova ta dva niza  bude najmanja moguca. Vjerovatno treba preko polu-zbirova nesto. 

11 godina
offline
Re: C++ Pomoc!

https://en.wikipedia.org/wiki/Partition_problem

 

Opci problem je NP-tezak, ima dosta heuristickih metoda koje daju aproksimativno rjesenje. Imas ih tamo par pa si prouci.

6 godina
neaktivan
offline
C++ Pomoc!

Pozdrav radim na projektu autokuca i imam 2 izbornika 1 za kupca i 1 za prodavaca imamo opcije za svakoga imam vektore m_vAutomobili i m_vMotocikli i trebalo bi mi 1 opcija ako mi mozete pomoci zezam se sa tom opcijom vec 2 dana.Opcija je Pregled ponude vozila tj moramo ispisati sva vozila za prodaja sortirana po tipu automobil ili motocikl po parametrima iz xml datoteke.

 
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice