VISUALC++の質問
やあ、
3つの要素の配列があり、その要素を右にシフトして、シフトされたインデックスセルを「SHIFTED」文字列に置き換えたいと思います。これは、すべてのセルが「SHIFTED」文字列になるまでループするはずです。
例えば:
int a[x]={0,1,2};
初期インデックスと要素順序:
[0]=0
[1]=1
[2]=2
次のようになる必要があります:
最初のループ:
[0]=SHIFTED
[1]=0
[2]=1
2番目のループ:
[0]=SHIFTED
[1]=SHIFTED
[2]=0
3番目のループ:
[0]=SHIFTED
[1]=SHIFTED
[2]=SHIFTED
memmove()でそれができることは知っていますが、関数を使用したくありません。
手伝ってくれませんか。これが私の仕事です:
#include <iostream>
#include <string>
#include <stdio.h>
#include <cstdlib>
using namespace std;
int const ARRAY_SIZE=3;
int main()
{
int Array[ARRAY_SIZE];
int iniPostion,newPostion;
string x="SHIFTED";
for(iniPostion=0; iniPostion<ARRAY_SIZE; iniPostion++)
{
Array[iniPostion] = iniPostion;
cout << "Cell [" << iniPostion << "] Initial Element is: (" << Array[iniPostion] << ")" << endl;
}
cout << endl;
for(newPostion=0; newPostion<ARRAY_SIZE; newPostion++)
{
Array[newPostion]=newPostion;
cout << "Cell [" << newPostion << "] New Element is: (";
if(Array[newPostion-1]<0)
{
cout << x << ")\n";
}
else
{
cout << Array[newPostion-1] << ")" << endl;
}
}
return 0;
}