こんばんは、人々!
私はかなり単純な問題を解決しようとしていますが..まあ、私にはできないようです。:)
アイデアは、n 個の要素を持つ FIFO リスト (FIFO キュー) があり、値 k (k < n) が与えられているということです。私の小さなプログラムは、要素を k 個の要素で左に移動する必要があります。(たとえば、n=4、k=3、a[]=(1, 2, 3, 4) の場合、結果は 4 1 2 3 になります)。
しかし、まあ、私はそれに近づくことはできません。
これは私がこれまでに書いたものです:
#include <iostream>
using namespace std;
void move (int a[100], unsigned n, unsigned k) {
int t[100];
unsigned i;
for (i=0; i<=n-1; i++) t[i]=a[i];
for (i=0; i<=k-1; i++) a[i]=a[i+k-1];
for (i=k; i<=n-1; i++) a[i]=t[i+1];
}
int main () {
int a[100];
unsigned k, n, i;
cout<<"n; k= "; cin>>n>>k;
for (i=0; i<=n-1; i++) cin>>a[i];
move (a, n, k);
for (i=0; i<=n-1; i++) cout<<a[i]<<" ";
}
どんな助けでも大歓迎です。前もって感謝します。