タスクは次のとおりです。
- 2つの配列
A
(数値浮動小数点型)B
があり、文字配列です。A には乱数が入力されます。 - B配列
A[i]
の i 番目の文字に関連付けられている i 番目の値を とします。つまり、すべての一意の Ai が一意の Bi にマップまたは関連付けられます。したがって、類似の Ai が存在する場合、それらのそれぞれは、B から順番に同じ文字に関連付けられます。 - 現在、
New_A
A の乱数とはわずかに異なるか、まったく同じ数がいくつかある可能性がある乱数によって設定される新しい配列があります。タスクは、次の仮定に基づいて文字配列 New_B を作成することです。 - 最小のユークリッド距離、または と の間の任意の
New_A[j]
尺度A[i]
をNew_A[j]
見つけA[i] >=New_A[j]
ますNew_A[i] >= A[j]
。条件が保持される最小small_A
のインデックス j を示すとします。A[j]
- たとえば、A[2] に関連付けられた文字が「d」で、A[2] の値が 12.1、New_A[7] の値が 11.9 であるとします。A[2]> New_A[7],New_A[7] は、文字 'd' である A[2] に最初に関連付けられた文字にマップ/関連付けされるためです。この条件が満たされない残りの部分は変更されません。したがって、全体的な効果/目的は、New_A および A に従って、文字配列 B のバリエーションを新しい文字配列 New_B に作成することです。
今、これは私が立ち往生しているところです。最小のユークリッド値を見つける方法と、条件に従って B の文字を割り当てる方法。さらに、配列のデータ型が異なるため、関連付けはどのように行われますか。2D 配列の使用は単なる当て推量であり、私が正しいという保証はありません。
float A[10];
char B[10] = {'c','d','e','f','g','h','i','j','k','l'} ;
for (i = 1; i <= 10; i++) {
Val_A[i] = rand();
Val_New[i] = rand();
A[i] = Val_A[i];
New_A[i][j] = Val_New[i];
}
max1 = New_A[0];
index1 = 0;
for (i = 1; i < 10; i++) {
if (A[i] > max1)
extract_char = B[i];
New_A[i][j] = extract_char;
//assigning corresponding character to New_A, which was assigned earlier to A
index1 = i;
}