» »

C++ naloge

C++ naloge

dary ::

V šoli (1.letnik) smo dobili naloge v jeziku C++, vendar mi povzročajo težave, zato bi bil zelo hvaležen če bi jih kdo pomagal rešiti.
LP!

1.naloga:Fibonaccijevo zaporedje
Dano je Fibonaccijevo zaporedje števil 0,1,1,2,3,5,8,13,... Napišite program, ki prebere število
X in nato izpiše X členov zaporedja. Upoštevajte, da se vsak naslednji člen izračuna kot vsota
prejšnjih dveh členov, prva dva člena pa sta ničla ter enica!

2.naloga:Izris trikotnika
Napiši program, ki prebere število in izpiše vzorec, ki je prikazan spodaj (število = 6).
***********
*********
*******
*****
***
*

3. naloga:Izris romba s številkami
Napišite program, ki na zaslon izpiše romb iz zvezdic. Pri tem upoštevajte, da je dolžina
diagonale romba vhodni podatek !
Primer:
(dolžino diagonale 7)
1
212
32123
4321234
32123
212
1

4.naloga naloga: Obseg in ploščina trikotnika
Napiši program, ki prebere koordinate oglišč trikotnika. Izračunaj obseg, ploščino, stranice ter
kote tako podanega trikotnika.

gamemen ::

katera šola si?

Pimoz ::

1. naloga
#include <iostream>

using namespace std;

int main () {
	int x, fib1 = 1, fib2 = 0, tmp;
	cin >> x;
	
	for (int i = 0; i < x; i++) {
		cout << fib2 << endl;
		tmp = fib1;
		fib1 = fib2;
		fib2 = tmp + fib2;
	}
	
	return 0;
}

2.naloga
#include <iostream>

using namespace std;

int main () {
	int x;
	cin >> x;
	
	for (int i = (x - 1); i >= 1; i -= 2) {
		for (int j = 0; j < i; j++) {
			cout << "*";
		}
		cout << endl;
	}
	
	return 0;
}

Srachko ::

:)) To pa me kar močno spominja na prve vaje pri Programiranje I :)) Good ol' FERI ;))
I can see clearly now, the brain has gone...

dary ::

gamemen je izjavil:

katera šola si?

Tehnik računalništva 1. letnik :)

@Pimoz:
Sem poizkusil ta 2 programa vendar mi noben ne deluje pravilno. Pri 1. nalogi se mi samo neke številke vrtijo, pri 2. pa program ne izriše pravilen trikotnik :) Sem to poizkušal popraviti vendar mi nikakor ne uspe, tako da bi prosil za pomoč!

Zgodovina sprememb…

  • spremenil: dary ()

Ericssony ::

Zakaj sploh hodiš v šolo, če se takih osnovnih stvari ne moreš naučiti sam? Saj te naloge so ja enostavne in predelane že 1000x zraven pa imaš še (lepo) napisana navodila.
Ne vem kaj ne "štekaš" recimo pri izrisu tistega lika? Rabiš dve for zanki in sicer s prvo določiš število vrstic z drugo pa število zvezdic, ki se pomanjšuje za -1 v vsaki naslednji vrstici...

dary ::

]Potreboval bi samo še tole nalogo:
Izpis večkratnikov
Napiši program, ki izpiše večkratnike števila 3, iz intervala od a do b. V eni vrsti naj bo deset
števil.

Sam sem poskušal narediti program, vendar mi ven ne vrže taprave številke zato bi prosil če kdo popravi programsko kodo!


int main(){
    int st1,st2;
    cout<<"Vnesi stevilo 1:";
    cin>>st1;
    cout<<"Vnesi stevilo 2:";
    cin>>st2;
    
    if(st2<st1){
                int st3=st1;
                st1=st2;
                st2=st3;
    }
    for(int i=1; st1<st2; st1++){
            cout<<st1*3<<" ";
            if (i%10==0) cout<<endl;
            i++;
    }
    system("pause");
    return 0;        
}






LP!

Pimoz ::

prva naloga izpisuje fibonaccijevo zaporedje...nevem kaj bi še rad.
druga naloga pa izpiše natanko kar si zapisal. če bi pa rad da naredi enakokraki trikotnik maš pa tuki kodo:
#include <iostream>

using namespace std;

int main () {
	int x, vrstica = 0;
	cin >> x;
	
	for (int i = (x - 1); i >= 1; i -= 2) {
		for (int k = 0; k < vrstica; k++) {
			cout << " ";
		}
		for (int j = 0; j < i; j++) {
			cout << "*";
		}
		vrstica++;
		cout << endl;
	}
	
	return 0;
}


pa upam da uporabljaš kakšen pameten kompajler priznam pa da tole koderam iz glave in ne preverjam...

Zgodovina sprememb…

  • spremenilo: Pimoz ()

deninho1989 ::

hmm mene še zanima naslednje:

#include <iostream>
using namespace std;
class A {
public:
A() { cout << "1\n"; }
~A() { cout << "2\n"; }
};
class B {
public:
B() { cout << "5\n"; }
~B() { cout << "6\n"; }
};
class C : public A , public B {
public:
C() { cout << "3\n"; }
~C() { cout << "4\n"; }
};
class D : public B , public A {
public:
D() { cout << "9\n"; }
~D() { cout << "8\n"; }
};
int main()
{ {A oa;} B ob;
for (int i=-1;i<1;i++) A oaa;
{C oc;} D od;
system ("pause"); return 0;
}


tle bi rabil eno razlago zakaj dobim take rezultate (1,2,5,1,2,1,2,1,5,3,4,6,2,5,1,9,8,2,6,6)..ne morem in ne morem razumet teh kons. in dest. ..

hvala za pomoč, Lp

Spura ::


2.naloga
#include <iostream>

using namespace std;

int main () {
	int x;
	cin >> x;
	
	for (int i = (x - 1); i >= 1; i -= 2) {
		for (int j = 0; j < i; j++) {
			cout << "*";
		}
		cout << endl;
	}
	
	return 0;
}

#include <iostream>

using namespace std;

int main () {
	int x;
	cin >> x;
        int MAX_ZVEZDE = x * 2 - 1;
        char* zvezde_niz = new char[x * 2];
        char* temp_niz = zvezde_niz;
        for (int i = 0;i < MAX_ZVEZDE;i++) {
            *temp_niz = '*';
            temp_niz++;
        }
        *temp_niz = '\0';
        for (int i = 0;i < x;i++) {
            cout << zvezde_niz << endl;
            zvezde_niz += 2;
        }
}

Notr so sicer najbrz kake napake k C++ ze stoletja nism povohu.

Genetic ::

deninho1989 je izjavil:

hmm mene še zanima naslednje:

...
tle bi rabil eno razlago zakaj dobim take rezultate (1,2,5,1,2,1,2,1,5,3,4,6,2,5,1,9,8,2,6,6)..ne morem in ne morem razumet teh kons. in dest. ..

hvala za pomoč, Lp


pri {A oa;} se klice konstruktor A in takoj zatem destruktor A (konec bloka) : A ~A
B ob; - konstruktor B, destruktor se bo poklical, ko bo konec bloka (za unicenjem objekta D)
A oaa - se klice dvakrat v for zanki konstruktor in takoj destruktor : A ~A A ~A
{C oc;} C deduje od A in B => kostruktorji A B C, destruktorji v obratnem vrstnem redu: ~C ~B ~A
D od; - d deduje od B in A => B A D, ~D ~A ~B
torej: A ~A B A ~A A ~A A B C ~C ~B ~A B A D ~D ~A ~B ~B
torej: 1  2 5 1  2 1  2 1 5 3  4  6  2 5 1 9  8  2  6  6

deninho1989 ::

najlepša hvala za to...vidim da tisto kar je v {} se takoj izvrši tako kon. kot des. dobra razlaga, tnx

deninho1989 ::

ok zdaj znam tisto nalogo :)..Imam pa še eno vprašanje..Lahko kdo na hitro reši to nalogo:

Preberite celi števili med a1 in b1. Vsako naj bo med 4 in 8 (vključno) in
a1 naj bo manjše od b1. V datoteko ab.txt zapišite najprej v prvo vrstico
svoje ime in priimek, v drugo vrstico letnik študija, nato pa po vrsti vsa
cela števila med a1 in b1 (vključno), v naraščajočem vrstnem redu, tako
da bo vsako število v svoji vrstici, vmes pa vrstica z besedilom “FRiSK.”.
Na konec dodajte vrstico, kjer bo izpisan datum opravljanja izpita
(današnji). Ustvarite polje (tabelo) znakov ba, velikosti a1. Preberite
znake za tabelo in jih zapišite v novo datoteko ba.txt, od prvega proti
zadnjemu, vsak znak v svojo vrstico, na koncu pa še celi niz od zadaj
naprej. Nato preberite vrstice iz datoteke ab.txt in jih sproti izpišite na
zaslon, podobno še za ba.txt.


v bistvu teorijo zdaj znam, pol še morem vsaj eno od treh nalog pravilno rešiti pa bo izpit opravljen

Zgodovina sprememb…

Spura ::

Ne si tega razlagat, kot da {} okoli stvari povzroci klic destruktorja takoj po konstruktorju.
Kontruktor se klice ob deklaraciji spremeljivke (ala A obj;).
Destruktor se klice, ko spremenljivka gre iz scopea. {} oznacuje blok, ki je en scope.

kitarist ::

Da si malo sposodim temo.

Torej, imam problem, ker mi pri prevajanju vrze ven error :
error C2664: 'Podatek::Podatek(int)' : cannot convert parameter 1 from 'Podatek *' to 'int'

Koda pa je:

v .h mam
bool isci(int vrednost);
Podatek isciVrednost(int vrednost);

v .cpp
bool Program::isci(int vrednost){
    Podatek iskan = isciVrednost(vrednost);
    if(iskan != NULL)
      return true;
    else
      return false;
}

Podatek Program::isciVrednost(int vrednost){
    Podatek *isci = prvi;
    int stej=1;
	do{
		if(isci->vrednost != vrednost)
			isci = isci->naslednji;
		else
			return isci; // tu javi napako
		stej++;
	}while(stej!= steviloPodatkov);
	return NULL;
}


Ne vem zakaj javi napako, sej pa imam funkcijo tipa Podatek in potem tudi vracam Podatek..

Zgodovina sprememb…

  • spremenil: kitarist ()

xordie ::

Funkcija bi naj vracala objekt ti pa poizkusas vrniti kazalec nanj. Prevajalnik ti zeli pomagati in zgraditi objekt s pomocjo konstruktorja Podatek(Podatek*), ki pa ga ti nimas.

Popravi, da bo:
Podatek * Program::isciVrednost(int vrednost);

Podatek *iskan = isciVrednost(vrednost);
x

kitarist ::

Super, hvala


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[C++] Naloge

Oddelek: Programiranje
273841 (2172) LordiBoy
»

Pomoč pri programiranju z javo

Oddelek: Programiranje
203334 (2261) milc
»

c++ naloge

Oddelek: Programiranje
92781 (2405) l0g1t3ch
»

Naloge v Pythonu

Oddelek: Programiranje
252353 (1970) Isotropic
»

[Naloga](Java)Fibonaccijevo zaporedje

Oddelek: Programiranje
132425 (2142) Nuke_H2

Več podobnih tem