C++-ban a tömb helyeinek kiírása rendezés után, hogyan? Kód és leírás lenn
Szóval van egy tömböm (pl 3 elem) és annak 3 helye szóval
Mondjuk van a tömbbe a következő számok: 8 3 5 (példának okáért)
A 8-as az első elem (1.) , a 3 a (2. elem), 5 ös a 3. elem
Én azt szeretném hogy rendezze az elemeket és a beírási sorrendbe írja ki a sorrendet pl 3-as (2. elem)...
Tehát azt írja ki hogy 2 3 1
Példa lenn
Tehát bemenetem egy tömb 8 3 5
Rendezés pl növekkvő
Kimenet ez rendezve 3 5 8
LÉNYEG:
Kimenet a sorrendjük rendezés után: 2 3 1
///////////////////////
Ez a rossz kimenet:
A programom ezt írja ki 2 1 2
KÓD:
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL,"hun");
int a;
cout << "Hány elemű a tömb?" << endl;
cin >> a;
int t[a];
for (int i=0; i<a; i++)
{
cout << "Add meg a" << i+1 << ". elemet! " << endl;
cin >> t[i];
}
cout << "A tömb elemei: " << endl;
{
for (int i=0; i<a; i++)
cout << t[i] << " ";
}
//A feldat folyatása
int hely[10000];
cout << "helye tomb nelkül " << endl;
{
for (int i=1; i<a+1; i++)
cout << i << " ";
}
cout << endl;
for ( int i=1; i<a+1; i++)
{
hely[i]=i;
}
// A hiba itt lehet nem tudom a helyhez rakni a számokat
///////////////////////////////////////////////////////////////////////
//Helyek kiírása:
cout << "helye tömbbel" << endl;
for (int i=1; i<a+1; i++)
{
cout << hely[i] << endl;
}
//Rendezés
int x,y;
cout << "\nRENDEZES----------------------"<< endl;
int i, j;
for (i=0;i<a;i++)
{ for (j=i+1;j<a;j++)
{
if (t[i]> t[j])
{
x=t[i];
t[i]=t[j];
t[j]=x;
y=hely[i];
hely[i]=hely[j];
hely[j]=y;
}
}
}
for (i=0;i<a;i++)
{
cout << t[i] << " : " << hely[i] << " " << endl;
}
return 0;
}
Tehát az lenne a kérés hogy hogyan lehet megcsinálni hogy a kimenete ezt írja ki: 2 3 1
E helyett : 1 2 3 --> ez a rossz kimenetem










Köszönöm szépen a válaszokat , ment a zöld pacsi :)
A hobám az volt hogy hely[i]+1
nem toltam el +1 el
köszi :)
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!