试图扭转的同时店呢一个C ++阵列和成一个新的数组 [英] Trying to reverse a C++ array and at the same time store it into a new array
本文介绍了试图扭转的同时店呢一个C ++阵列和成一个新的数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图扭转数组并同时将其与存储在一个新的数组
循环。我曾与循环有所手动,但没有实现它。下面的第一个code使用循环,后者手动或从字面上。
字符WRD [26],转[26];INT Y,I,S;S = strlen的(WRD)-1;对于(Y = 0; Y< S; Y ++)为(I = S; I> = 0;我 - )
{
转[Y] = WRD [I]
}
下面是相同的手动完成;它的工作原理,但你习惯随机字符填充阵列的其余部分:
{
焦炭DRW [26],wrd2 [26];
INT S,I = 0; S = strlen的(wrd2)-1; DRW [0] = wrd2 [S]。
DRW [1] = wrd2 [S-1];
DRW [2] = wrd2 [S-2];
DRW [3] = wrd2 [S-3];
DRW [4] = wrd2 [S-4];
DRW [5] = wrd2 [S-5];
DRW [6] = wrd2 [S-6];
DRW [7] = wrd2 [S-7];
DRW [8] = wrd2 [S-8];
DRW [9] = wrd2 [S-9];
DRW [10] = wrd2 [S-10];
DRW [11] = wrd2 [S-11];
DRW [12] = wrd2 [S-12];
DRW [13] = wrd2 [S-13];
DRW [14] = wrd2 [S-14];
DRW [15] = wrd2 [S-15];
DRW [16] = wrd2 [S-16];
DRW [17] = wrd2 [S-17];
DRW [18] = wrd2 [S-18];
DRW [19] = wrd2 [S-19];
DRW [20] = wrd2 [S-20];
DRW [21] = wrd2 [S-21];
DRW [22] = wrd2 [S-22];
DRW [23] = wrd2 [S-23];
DRW [24] = wrd2 [S-24];
DRW [25] = wrd2 [S-25]; COUT<< DRW;
}
解决方案
您有两个嵌套循环,而且他们没有做什么,你认为他们在做什么。你只需要一个:
INT Y,S;S = strlen的(WRD) - 1;对于(Y = 0; Y< = S; Y ++)
{
转[Y] = WRD [S - Y];
}
和不要忘了终止:
转[S + 1] = 0;
I'm trying to reverse an array and simultaneously store it in a new array with for
loops. I have achieved it somewhat manually but not with loops. The first code below uses loops, the latter manually or literally.
char wrd[26],rev[26];
int y,i,s;
s=strlen(wrd)-1;
for(y=0;y<s;y++) for(i=s;i>=0;i--)
{
rev[y]=wrd[i];
}
Below is the same done manually; it works, but you get random chars used to fill the rest of the array:
{
char drw[26], wrd2[26];
int s,i=0;
s=strlen(wrd2)-1;
drw[0]=wrd2[s];
drw[1]=wrd2[s-1];
drw[2]=wrd2[s-2];
drw[3]=wrd2[s-3];
drw[4]=wrd2[s-4];
drw[5]=wrd2[s-5];
drw[6]=wrd2[s-6];
drw[7]=wrd2[s-7];
drw[8]=wrd2[s-8];
drw[9]=wrd2[s-9];
drw[10]=wrd2[s-10];
drw[11]=wrd2[s-11];
drw[12]=wrd2[s-12];
drw[13]=wrd2[s-13];
drw[14]=wrd2[s-14];
drw[15]=wrd2[s-15];
drw[16]=wrd2[s-16];
drw[17]=wrd2[s-17];
drw[18]=wrd2[s-18];
drw[19]=wrd2[s-19];
drw[20]=wrd2[s-20];
drw[21]=wrd2[s-21];
drw[22]=wrd2[s-22];
drw[23]=wrd2[s-23];
drw[24]=wrd2[s-24];
drw[25]=wrd2[s-25];
cout << drw;
}
解决方案
You have two nested loops, and they are not doing what you think they are doing. You only need one:
int y, s;
s = strlen(wrd) - 1;
for (y = 0; y<=s; y++)
{
rev[y] = wrd[s - y];
}
and don't forget to terminate:
rev[s + 1] = 0;
这篇关于试图扭转的同时店呢一个C ++阵列和成一个新的数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文