Ich denke, wir können dieses Problem lösen, ohne Vektor zu verwenden. Ich bin Neuling, um ehrlich zu sein, ich verstehe nicht, was Sie oben geschrieben habe, und alle von Ihnen verwendeten Vektors, die ich später studieren :))) (i faul bin) Hier ist meine Art und Weise:
// Zuerst Kopie Array a [] zu Array b []
void copyarray(double b[],double a[],int n){
for(int i=0;i<n;i++)b[i]=a[i];
}
// Zweitens sortieren Array a [] (Abnahme)
/* Drittens "Sortierer" Array a [], dass bedeutet: in Array a [], wenn es die gleichen Werte gibt, werden sie zu einem verschmelzen! wird i-Array festgelegt o [] ist "die sortierten Array a []" */
void sorter(double o[],double a[],int n,int &dem){
int i;
o[0]=a[0];
for(i=1;i<n;i++){
if(a[i]!=a[i-1]){
dem++; o[dem]=a[i];
}
}
dem++;
}
/* 4., unser Hauptziel: das Index: i den Index in Array setzen c [] */
void index_sort(double o[],double b[], double c[], int dem, int n){
int i,j,chiso=0;
for(j=0;j<dem;j++){
for(i=0;i<n;i++){
if(b[i]==o[j]){
c[chiso]=i;
chiso++;
}
}
}
}
// DONE!
int main(){
int n,dem=0;
double a[100],b[100],c[100],o[100];
cin>>n;
input(a,n);
copyarray(b,a,n);
copyarray(c,a,n);
sort(a,n);
sorter(o,a,n,dem);
index_sort(o,b,c,dem,n);
for(int i=0;i<n;i++) cout<<c[i]<<" ";
}
Ich wusste, dass jemand diese Frage stellen wird und das ist keine Hausaufgabe. – q0987
Die Frage "Ist das eine Hausaufgabe?" Wird selten gestellt, wenn OPs Rep über 500 ist :-) – dasblinkenlight