Peršokti į turinį

Pagalbos dėl rykiavimo


GREDDY

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3001 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Kažkodėl blogai surykiuoja masyvą B kodas tikrai atrodo geras, galbūt galite padėti kas nors

#include <iostream>
#include <fstream>

using namespace std;

const char duom [] = "U1.txt";
const char rez  [] = "U1rez.txt";
const int cmax = 50;

struct marsrutas{
    int nr;
    int kiek;
};

void skaitymas(marsrutas A[],int &n);
void rykiavimas(marsrutas A[],int n);
void marsrutai(marsrutas A[],int B[],int n,int &m);
void salinti(int B[],int &m,int k);
void rykiavimas(int B[],int m);

int main()
{
    marsrutas A[cmax]; int n;
    int B[cmax]; int m=0;
    skaitymas(A,n);
    marsrutai(A,B,n,m);
    for(int i=0;i<m;i++) cout << B[i] << endl; // išvedu B masyvo duomenis, bet juos blogai surykiuoja kažkodėl
    return 0;
}
void skaitymas(marsrutas A[],int &n)
{
    ifstream in(duom);
    in >> n;
    in.ignore();
    for(int i=0;i<n;i++)
    {
        in >> A[i].nr >> A[i].kiek;
    }
    in.close();
}
void marsrutai(marsrutas A[],int B[],int n,int &m)
{
    for(int i=0;i<n;i++){ B[i]=A[i].nr; }
    m = n;
    for(int i=0;i<m;i++)
    {
        for(int j=i+1;j<m;j++)
        {
            if(B[i]==B[j])
            {
                int k = j;
                salinti(B,m,k);
                j = j-1;
            }
        }
    }
    rykiavimas(B,m);
}
void salinti(int B[],int &m,int k)
{
    for(int i=k;i<m-1;i++)
    {
        B[i] = B[i+1];
    }
    m = m-1;
}
void rykiavimas(int B[],int m)
{
    int minr,temp;
    for(int i=0;i<m-1;i++)
    {
        minr = i;
        for(int j=i+1;j<m;j++)
        {
            if(B[j]<B[minr])
            {
                minr = j;
                temp = B[i];
                B[i] = B[minr];
                B[minr] = temp;
            }
        }
    }

}


dumenu failas:

12
6 -1
6 5
3 15
4 9
6 -2
12 16
8 45
4 -5
3 12
3 -10
12 -16
9 9
Redaguota , nario GReddy
Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3001 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Svečias
Ši tema yra užrakinta.
  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...