Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Hitno POMOĆ
Author Message
jaaa Offline
Novi korisnik
*

Posts: 5
Joined: Oct 2009
Reputation: 0
Post: #1
Hitno POMOĆ
Ej! Zamolio bih vas ako ima netko volje da mi rješi ovaj zadatak. Zadatak slijedi :

U programskom jeziku C++ napišite program koji će generirati 10 000 slučajnih brojeva te ih pohraniti u listu. Nakon toga potrebno je brojeve podijeliti u dvije zasebne liste gdje će jednu činiti parni, a drugu neparni brojevi. Brojeve je potrebno sortirati quick sort algoritmom na način da su parni brojevi poredani silazno, a neparni brojevi uzlazno. Program treba raditi neovisno o implementaciji liste

Unaprijed se zahvaljujem na rješenjima, svakako su mi korisna Happy
22-10-2009 07:20 PM
Find all posts by this user Quote this message in a reply
Gogy Offline
____
*

Posts: 2,379
Joined: Feb 2006
Post: #2
RE: Hitno POMOĆ
Ne rješavamo zadatke za domaću zadaću. Ako imaš konkretan problem oko nekog zadatka onda nam se javi.

Pravila foruma | Twitter - Facebook - Google+ |
22-10-2009 07:57 PM
Visit this user's website Find all posts by this user Quote this message in a reply
jaaa Offline
Novi korisnik
*

Posts: 5
Joined: Oct 2009
Reputation: 0
Post: #3
RE: Hitno POMOĆ
evo imam i neki pokušaj rješavanja ovog zadatka, ali mi se baš ne ćini kao najsretnije rješenje pa ako netko ima volje da ga malo pogleda i napiše mi kako bi bilo bolje ga rješiti velikodušno prihvaćam prijedloge ...

Code:
#include <iostream>
#include <conio.h>
#include "lista_polje.h"
#include "lista_pokazivac.h"
using namespace std;

int main(){
    telement *lista_par = new telement;
    telement *lista_nepar = new telement;
    lista_par->sljedeci=NULL;
    lista_nepar->sljedeci=NULL;
    int polje_par[10000], polje_nepar[10000];
    int broj, iz;
    cout<<"1.Implementacija liste pomocu polja\n2.Implementacija liste pomocu pokazivaca\nIzbor: ";
    cin>>iz;
    srand(time(0));
    rand();
    for(int i=0; i<10000;i++){
         broj=rand();
         switch(iz){
           case 1: impl_polje(polje_par, broj, i); break;
           case 2: impl_pok(lista_par, broj); break;
         }
    }
    cout<<"Rastavljam listu...Sortitam...\n";
    getch();
    switch(iz){
             case 1: rastavi_listu(polje_par, polje_nepar);
                     Quick_Sort(0,10000,polje_par);
                     Quick_Sort(0,10000,polje_nepar);
                     ispis(polje_par, 2);
                     cout<<"\nOvo su svi parni brojeci sortirani silazno";
                     getch();
                     ispis(polje_nepar, 1);
                     cout<<"\nOvo su svi neparni brojeci sortirani uzlazno";
                     break;
             case 2: rastavi_listu(lista_par, lista_nepar);
                     cout<<"\nParni: \n";
                     ispisi(lista_par);
                     cout<<"\nNeparni: \n";
                     getch();
                     ispisi(lista_nepar);
                     break;
    }
    getch();
return 0;     }
23-10-2009 10:47 AM
Find all posts by this user Quote this message in a reply
r0tring Offline
Redoviti posjetitelj
**

Posts: 237
Joined: Apr 2009
Reputation: 11
Post: #4
RE: Hitno POMOĆ
Evo kako bi izgledalo za 10 radnom brojeva:

#include <iostream.h>

int main()
{
int i, temp_parni, temp_neparni, par=-1, nepar=-1, neparni[10], parni[10];
srand(time(0));
char ch;

cout<<"10 random brojeva:\n________ "<<endl;
for (int k=0; k<=9; k++)
{
i = rand();
if (i % 2 == 0) //ako je ostatak djeljenja random broja sa 2 jednak nuli (paran broj)
{
par++;
parni[par] = i;
cout<<i<<endl;
}

else //neparni brojevi
{
nepar++;
neparni[nepar] = i;
cout<<i<<endl;
}
}

cout<<endl<<"Ukupno parnih brojeva: "<<par+1<<endl;
cout<<"Ukupno neparnih brojeva: "<<nepar+1<<endl<<endl;

//sortiranje parnih brojeva
for (int i=0; i<par; i++)
{
for (int j=0; j<par-i; j++)
{
if (parni[j+1]>parni[j])
{
temp_parni = parni[j];
parni[j] = parni[j+1];
parni[j+1] = temp_parni;
}
}
}

cout<<endl<<"Sortirani parni brojevi u silaznom obliku su:"<<endl;
for (int h=0; h<=par; h++)
{
cout<<parni[h]<<endl;
}

//sortiranje neparnih brojeva
for (int i=0; i<nepar; i++)
{
for (int j=0; j<nepar-i; j++)
{
if (neparni[j+1]>neparni[j])
{
temp_neparni = neparni[j];
neparni[j] = neparni[j+1];
neparni[j+1] = temp_neparni;
}
}
}

cout<<endl<<"Sortirani neparni brojevi u uzlaznom obliku su: "<<endl;
for (int t=nepar; t>=0; t--)
{
cout<<neparni[t]<<endl;
}
cout<<endl<<endl;
system("pause");
}

A algoritam po kojem program sortira brojeve je sljedeci:

[Image: a81306e854.png]

A ti se sad potrudi i uradi program za 10000 brojeva! Namigivanje
25-10-2009 01:25 PM
Find all posts by this user Quote this message in a reply
jaaa Offline
Novi korisnik
*

Posts: 5
Joined: Oct 2009
Reputation: 0
Post: #5
RE: Hitno POMOĆ
dali možda neko zna kako napraviti donekle čitljiv ispis tih brojeva, radi se o 10000 brojeva, da budu kao u tablici ili tak nešt slićno ?
25-10-2009 05:07 PM
Find all posts by this user Quote this message in a reply
r0tring Offline
Redoviti posjetitelj
**

Posts: 237
Joined: Apr 2009
Reputation: 11
Post: #6
RE: Hitno POMOĆ
Pa spremis ih u datoteke "lista.txt" , "parni.txt" , "neparni.txt"!
Btw: Jel ti dobar ovaj gore program?
25-10-2009 07:11 PM
Find all posts by this user Quote this message in a reply
jaaa Offline
Novi korisnik
*

Posts: 5
Joined: Oct 2009
Reputation: 0
Post: #7
RE: Hitno POMOĆ
program je OK, malo preuredim i bude radilo, samo da još taj ispis sredim ...
25-10-2009 08:25 PM
Find all posts by this user Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)