У меня есть 2 массива того же размера, которые имеют отдельные типы, которые мне нужно синхронизировать. Один массив - это список удвоений, который я отсортировал в порядке убывания. Другой - список символов 33-90, которые соответствуют их соответствующим значениям ASCII. Перед сортировкой списка парных двух массивов выстроились хорошо, но я не мог отсортировать список символов таким же образом. Мне нужно, чтобы места были синхронизированы, EX: y[i] = ch[i];
, но эта команда не работает.Как синхронизировать два массива
void sortChars(int x[], double y[])
{
int i;
int largestIndex;
int location;
double temp;
char ch[58];
for (int i = 0; i < 58; i++)
ch[i] = 33 + i;
for (i = 0; i < 58; i++)
{
//Step a
largestIndex = i;
for (location = i + 1; location < 58; location++)
if (x[location] > x[largestIndex])
largestIndex = location;
//Step b
temp = x[largestIndex];
x[largestIndex] = x[i];
x[i] = temp;
}
for (i = 0; i < 58; i++)
{
//Step a
largestIndex = i;
for (location = i + 1; location < 58; location++)
if (y[location] > y[largestIndex])
largestIndex = location;
//Step b
temp = y[largestIndex];
y[largestIndex] = y[i];
y[i] = temp;
}
for (int i = 0; i < 58; i++)
{
cout << ch[i] << " times used: " << left << setw(20) << x[i];
cout << fixed << showpoint << setprecision(6);
cout << '\t' << "% of file: " << y[i] << endl;
}
}
Я попытался установить ch[i] = y[i]
, я попытался с помощью своего рода выбор из y[]
и изменения всех y
частей на этапе b
к ch
. Как бы вы решили совместить эти 2 массива? пожалуйста, постарайтесь не использовать команды std::
, потому что все мои проекты используют using namespace std;
'y [i] = ch [i];' плохо, потому что типы не выстраиваются в линию. Вы пытались отразить все операции, которые изменяют 'y' на' ch'? Двойной «Шаг b» для 'y' и в одной из копий вы заменяете каждый' y' на 'ch'. – MoFu
Я получил это от этого спасибо. – user2087867