後方の要素へ1つ移動 – プログラミング – Home

通知
すべてクリア

[解決済] 後方の要素へ1つ移動


矢頭
 矢頭
(@矢頭)
ゲスト
結合: 14年前
投稿: 12
Topic starter  

配列の各要素の内容を、1つ後方へ移動させるプログラムなのですが、
どのようにすればいいのか全くわかりません。
一応組んでみたりしたのですが全く動きません。
#include <stdio.h>

int main(void)
{
int i, vx[5];

for (i = 0; i < 5; i++) {
printf(vx[%d]:, i);
scanf(%d, &vx[i]);
}

for (i = 0; i < 4; i++) {
int temp = vx[i];
vx[i] = vx[i -1];
vx[4 - i]= temp;
}

for(i =0; i < 5; i++) {
temp = vx[i];
printf(vx[%d]=%d\n, i, vx[i]);

return(0);
}
おかしな所等教えていただければ幸いです。


引用未解決
トピックタグ
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 15年前
投稿: 64
 

#include <stdio.h>

int main(void) {
int i;
int vx[5] = { 111,222,333,444,555 };

for (i = 4; i > 0; --i ) { // ケツからアタマ方向に舐めるのがミソ
vx[i] = vx[i-1];
}

for(i =0; i < 5; i++) {
printf(vx[%d]=%d\n, i, vx[i]);
}
return(0);
}


返信引用
矢頭
 矢頭
(@矢頭)
ゲスト
結合: 14年前
投稿: 12
Topic starter  

επιστημη様
 教えて頂きありがとうございました。


返信引用
矢頭
 矢頭
(@矢頭)
ゲスト
結合: 14年前
投稿: 12
Topic starter  

すみません。上のは途中送信のミスです。

επιστημη様
 教えて頂きありがとうございました。
以下のように、しっかり作動するプログラムができました。
#include <stdio.h>
#define NUMBER 5

int main(void) {
int i;
int vx[5], temp;

for (i = 0; i < 5; i++) {
printf(vx[%d]:, i);
scanf(%d, &vx[i]);
temp = vx[4];
}

for (i = 4; i > 0; --i ) {
vx[i] = vx[i-1];
}

for(i =0; i < 5; i++) {
vx[0] = temp;
printf(vx[%d]=%d\n, i, vx[i]);
}
return(0);
}


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました