a[0]=3
a[1]=0
a[2]=1
a[3]=2
a[4]=4
というような配列の要素が重複なく、0から配列の要素数の範囲になっている配列aを
a[3]=0
a[0]=1
a[1]=2
a[2]=3
a[4]=4
といった風に添え字と要素を交換するプログラムを書きたいのですが、どのように書けばいいのか見当がつきません
方針を教えてくれると助かります
c言語で配列の添え字と要素を交換するプログラム
Re: c言語で配列の添え字と要素を交換するプログラム
方法はいろいろあると思いますが、一番愚直にするなら
a[]のコピーb[]を用意してa[b] = i とすればよいのではないでしょうか?
a[]のコピーb[]を用意してa[b] = i とすればよいのではないでしょうか?
Re: c言語で配列の添え字と要素を交換するプログラム
zackさん
それだと上の例で最初にa[0] = 3がa[3] = 0になり元のa[3] = 2という情報が失われる気がしますが
それだと上の例で最初にa[0] = 3がa[3] = 0になり元のa[3] = 2という情報が失われる気がしますが
Re: c言語で配列の添え字と要素を交換するプログラム
何か不都合がありますか?po_po さんが書きました:zackさん
元のa[3] = 2という情報が失われる気がしますが
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。
Re: c言語で配列の添え字と要素を交換するプログラム
すいません勘違いをしていました
何も問題ありません、解決しましたありがとうございました
何も問題ありません、解決しましたありがとうございました