C++pomoc oko zadatka

C, C++, Java, PHP, Ruby...

Moderator/ica: Moderatori/ce

Pravila foruma
U naslovu teme unutar uglatih zagrada navesti o kojem jeziku je riječ. Primjer: [Java]
Avatar
gagiD
Postovi: 408
Pridružen/a: 15 lis 2013, 01:42
Spol: M
OS: Arch / Manjaro / #!

Re: C++pomoc oko zadatka

Post Postao/la gagiD »

PunkBastard je napisao/la:mislim da ti je ovo jednostavnije za duljinu stringa: string.length();
http://www.cplusplus.com/reference/stri ... ng/length/
recimo ovako:

Kod: Označi sve

string nekistrnig;
nekistring.length();
Da jednostavnije je, a ja sam iz nekog razloga mislio da je C a na C++ :hihi
Avatar
PunkBastard
Postovi: 1975
Pridružen/a: 19 srp 2011, 22:39
Spol: M
OS: Debian 7 Wheezy
Lokacija: wonderland

Re: C++pomoc oko zadatka

Post Postao/la PunkBastard »

gagiD je napisao/la: Da jednostavnije je, a ja sam iz nekog razloga mislio da je C a na C++ :hihi
Nema taga [C++] u naslovu, piše samo "C++pomoc oko zadatka" :lol:
I don't want to be a human. I want to see gamma rays, I want to hear x-rays and I want to smell dark matter. I want to reach out with something other than this prehensile paws and feel the solar wind of a super nova flowing over me.
Avatar
nicky
Site Admin
Postovi: 2074
Pridružen/a: 07 pro 2007, 16:30
Spol: Ž
OS: ubuntu 12.04
Lokacija: Zagreb

Re: C++pomoc oko zadatka

Post Postao/la nicky »

U C-u postoji funkcija

Kod: Označi sve

size_t strlen(const char *str)
koja je dio libraryja

Kod: Označi sve

#include <string.h>
Primjer:

Kod: Označi sve

#include <stdio.h>
#include <string.h>

int main(void)
{
char polje[] = {"String je duzine"};
printf("String je duzine %d",strlen(polje));
return 1;
}
ispis je: String je duzine 16
Jelena
Postovi: 15
Pridružen/a: 01 lip 2014, 19:57
Spol: Z
OS: Windows &

Re: C++pomoc oko zadatka

Post Postao/la Jelena »

Hvala Vam svima puno,jos samo mi treba kako random brojeve da ubacim u tu matricu da ispisuje?
Avatar
PunkBastard
Postovi: 1975
Pridružen/a: 19 srp 2011, 22:39
Spol: M
OS: Debian 7 Wheezy
Lokacija: wonderland

Re: C++pomoc oko zadatka

Post Postao/la PunkBastard »

Ako sam dobro shvatio prvo trebaš napuniti matricu random brojevima 15-35 pa onda to redom ispisivati. Znači samo napraviš 2 for petlje za prvi dio, upis u matricu i na svakom koraku for petlje na mjesto na kojemu je petlja trenutno upišeš random broj, nešto kao:

Kod: Označi sve

int tmp;
for(int i=0; i<4; i++){
    for(int j=0; j<4; j++){
        matrica[i][j]=rand()%15+35;
    }
}
za ispis napraviš istu stvar sa for petljama (2), samo dodaš da ispisuje to što se nalazi na mjestima "i" i "j", a možeš sa samo 2 for petlje tako da generira svaki put nasumični broj i samo ga ispiše ili štogod već ali u tom slučaju matrica nije niti potrebna i možeš samo jednu for petlju staviti koja ide do 16 i radi istu stvar.
I don't want to be a human. I want to see gamma rays, I want to hear x-rays and I want to smell dark matter. I want to reach out with something other than this prehensile paws and feel the solar wind of a super nova flowing over me.
Jelena
Postovi: 15
Pridružen/a: 01 lip 2014, 19:57
Spol: Z
OS: Windows &

Re: C++pomoc oko zadatka

Post Postao/la Jelena »

hvala puno,ostao mi je samo jos jedan,ako neko zna.
Trazi se unos 10 brojeva,koji ce biti zapamceni u niz.Program treba da sortira unete brojevi od najmanjeg do najveceg.Koristiti bubble sort algoritam.
Avatar
gagiD
Postovi: 408
Pridružen/a: 15 lis 2013, 01:42
Spol: M
OS: Arch / Manjaro / #!

Re: C++pomoc oko zadatka

Post Postao/la gagiD »

Unijeti 10 brojeva u niz ces uraditi isto kao i za matricu samo s jednom for petljom.

A Bubble sort mozes ovako:

Kod: Označi sve

for ( int i=1 ; i  < 10 ; i++) {
        for ( int j = 0 ; j < 9 ; j++) {
            if ( niz[i] < niz[j]) {
                int tmp = niz[i];
                niz[i] = niz[j];
                niz[j] = tmp;
            }
        }
    }
btw. jos sam negdje vidio ovu istu zadacu ;)
Avatar
nicky
Site Admin
Postovi: 2074
Pridružen/a: 07 pro 2007, 16:30
Spol: Ž
OS: ubuntu 12.04
Lokacija: Zagreb

Re: C++pomoc oko zadatka

Post Postao/la nicky »

dva mala ispravka u gagijevom rješenju

Traži se niz od manjeg prema većem, pa je if uvjet

Kod: Označi sve

 if ( niz[i] > niz[j])
Vanjska for petlja bi isto trebala ići od i = 0 a ne od i = 1

Varijable deklarirati izvan for petlje (int tmp), jer se u protivnom sa svakim prolaskom inicijalizira varijabla i uništava na kraju petlje (troši vrijeme) umjesto da koristi jednom inicijalizirani podatak i uništi kad više nije potreban.
Jelena
Postovi: 15
Pridružen/a: 01 lip 2014, 19:57
Spol: Z
OS: Windows &

Re: C++pomoc oko zadatka

Post Postao/la Jelena »

sta nije dobro ovde?

Kod: Označi sve

int x[],i,j;
		for (i=1;i<=10;i++);
	cout<<unesite brojeve u niz<<endl;
	cin>>x[i];
	for ( int i=1 ; i  < 10 ; i++) {
        for ( int j = 0 ; j < 9 ; j++) {
            if ( x[i] < x[j]) {
                int tmp = niz[i];
                x[i] = x[j];
                x[j] = tmp;
            }
        }
    }
Avatar
Medojedni jazavac
Postovi: 1536
Pridružen/a: 22 tra 2012, 08:55
Spol: M
OS: eOS Luna
Lokacija: ForHill Croatia
Kontakt:

Re: C++pomoc oko zadatka

Post Postao/la Medojedni jazavac »

U prvoj for petlji imas ";" na kraju, kaj znaci da se for petlja samo izvrti do kraja, a ni jedna anredba ispod nje se ne odradi dok ona ne zavrsi. Ono kaj se konkretno desi je, i ide 1, 2, 3, 4..., 10 i tek sad krene cout<<...

Ono što uvjek želiš je metati naredbe unutar {} bloka da ti se to ne desava, makar imala smo jednu naredbu u foru.

Kod: Označi sve

for (i=1;i<=10;i++) {
   cout<<unesite brojeve u niz<<endl;
   cin>>x[i];
}
stefan je napisao/la:tu mač gemišta
To understand recursion, you must first understand recursion.
Odgovori