0

このコードを以下に作成しました。

#include <stdio.h>
#include <stdlib.h>

main()
{
    int n, i, v[1000];
    printf("Type the size of the vector: ");
    scanf("%d", &n);
    for (i = 0; i < n; i++) {
        printf("Type a number: ");
        scanf("%d", &v[i]);
    }
    for(i=0;i<n;i++){
        printf ("%d ", v[i]);
    }
    system ("pause");
    return 0;
}

これは機能していますが、今やらなければならないことは、このベクトルの真ん中に別の数値を配置することです。たとえば、1、2、3、4 の 4 つの数字をその上に配置する場合、真ん中に別の数字を配置できるようにする必要があるため、たとえば 1、2、9、3、4 になります。誰もそれを行う方法を知っていますか?

4

2 に答える 2

3
int k;

k = n / 2;

for (i = n; i > k; --i)
   v[i] = v[i - 1];
v[k] = insertionValue;
于 2013-01-07T08:23:51.820 に答える
0

ベクトルを再割り当てし、中央の1以降のすべての値を右にシフトしてから、必要な値を中央に割り当てる必要があります。

于 2013-01-07T08:21:54.610 に答える