構造体配列から1行を削除する関数を作成しようとしていますが、削除したい行のインデックスと構造体配列に関数を与えます。例えば。我々は、構造体配列を持っている:構造体配列から1つのデータ行を削除する方法は? (インデックス付き)
Structure
{
string First;
string Second;
string Third;
string Fourth;
string Fifth;
}
構造体配列:
A[i].First A[i].Second A[i].Fourth A[i].Fifth // i is the index
当社の機能は、このようなものです::
Structure A[100];
int n;
だから、この構造体配列の5つの文字列型の要素があります
void Delete(Structure A[], int index, int & n)
{
Structure t;
for (int i = index; i < n-1; i++)
{
t = A[i];
A[i] = A[i + 1];
A[i + 1] = t;
n--;
}
}
だから私は関数のインデックスを与えると、そのインデックスを持つ私の構造体配列のすべての要素を削除する関数を(どのように私はそれらを1つずつ削除する代わりに、それらの要素の全体の線のように取ることができますか?)
しかし、この機能は動作しません。あなたは私にいくつかのヒント/アドバイス/提案をお願いできますか?前もって感謝します。最初のレベルで
あなたはおそらくやりたいですループの後の 'n - ;' ...一般的な答え: 'ベクトル'を使用する – BeyelerStudios
nは、インデックス 'index'から始まる要素の数です。それはなぜrefですか? – Jfevold
nは、構造体に含まれる要素の行数を宣言します。この場合、n = 5としましょう。 – feco