Tutorijali.Net forum

Full Version: Obrnuti redosljed vrjednosti reda
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Ako bi mi netko mogao pomoći! Želim obrnuti redosljed vrijednosti u redu!
npr. ako red ide:
1
2
3
4
da ga obrnem :
4
3
2
1
bez upotrebe stoga ako je to uopće moguće!Hmmm
ej nema veze ljudi sorry sto sam ikoga gnjavio uspio sam riješiti pa ev ak nekog zanima
Code:
void ored(int red[], int n, int *izlaz, int *ulaz)
{
    int pomred[max],pomulaz=0,pomizlaz=0,tmp;
    int pomred1[max],pomulaz1=0,pomizlaz1=0;
    while(skini(&tmp, red, max, izlaz, *ulaz))
    {
        dodaj(tmp, pomred, max, pomizlaz, &pomulaz);
        while(skini(&tmp,pomred1,max,&pomizlaz1,pomulaz1))
        {
            dodaj(tmp, pomred, max, pomizlaz, &pomulaz);
        }
        while(skini(&tmp, pomred, max, &pomizlaz, pomulaz))
        {
            dodaj(tmp, pomred1, max, pomizlaz1, &pomulaz1);
        }
    }
    while(skini(&tmp, pomred1, max, &pomizlaz1, pomulaz1))
            dodaj(tmp, red, max, *izlaz, ulaz);
}
Nakon 5h rada!!!
Hmm, neznam šta si to radio, ali ako samo želiš okrenuti niz, to možeš ovako:

Code:
#include <iostream.h>

int main() {

//deklaracija reda /niza
int red[] = {1,4,5,6,3,4,5,6};

//normalni slijed ispisa
for (int i=0; i<=7; i++)
     {
       cout<<red[i]<<" ";
     }
     cout<<endl;
    
//obrnuti redoslijed ispisa    
for (int i=7; i>=0; i--)
     {
       cout<<red[i]<<" ";
     }
     cout<<endl<<endl;

system("pause");
}

Valjda je to to, ako sam te dobro razumio. Hmmm
Da hvala scroler-u na odgovoru ali mislio sam na red(queue) polje strukture FIFO (First in First Out) znači da elemente koje imam u jednom red-u prebacim u drugi red obrnem im redosljed i vratim nazad u glavni red!
Usput imam nek gresku gore radi i sa 4 elementa ali kad stavim 5 element na red opet isto radi da mozda nsam pogresio u naredbama dodaj skini ako netko moze da pogleda evo kod!
Code:
#include "stdafx.h"

using namespace System;

#define max 5

int dodaj(int element, int red[], int n, int izlaz, int *ulaz) {
    if(((*ulaz+1)%5)==izlaz) return 0;
    (*ulaz)++;
    *ulaz%=n;
    red[*ulaz] = element;
    return 1;
}

int skini(int *element, int red[], int n, int *izlaz, int ulaz) {
    if(*izlaz==ulaz) return 0;
    (*izlaz)++;
    *izlaz%=n;
    *element=red[*izlaz];
    return 1;
}

void ored(int red[], int n, int *izlaz, int *ulaz)
{
    int pomred[max],pomulaz=0,pomizlaz=0,tmp;
    int pomred1[max],pomulaz1=0,pomizlaz1=0;
    while(skini(&tmp, red, max, izlaz, *ulaz))
    {
        dodaj(tmp, pomred, max, pomizlaz, &pomulaz);
        while(skini(&tmp,pomred1,max,&pomizlaz1,pomulaz1))
        {
            dodaj(tmp, pomred, max, pomizlaz, &pomulaz);
        }
        while(skini(&tmp, pomred, max, &pomizlaz, pomulaz))
        {
            dodaj(tmp, pomred1, max, pomizlaz1, &pomulaz1);
        }
    }
    while(skini(&tmp, pomred1, max, &pomizlaz1, pomulaz1))
            dodaj(tmp, red, max, *izlaz, ulaz);
}
int main(array<System::String ^> ^args)
{
       int red[max], ulaz=0, izlaz=0,element;
       dodaj(1, red, max, izlaz, &ulaz);
       dodaj(2, red, max, izlaz, &ulaz);
       dodaj(3, red, max, izlaz, &ulaz);
       dodaj(4, red, max, izlaz, &ulaz);
       dodaj(5, red, max, izlaz, &ulaz);
       ored(red, max, &izlaz, &ulaz);
    return 0;
}
Ispričavam se sto nisam bio dovoljno jasan! Namigivanje
Reference URL's