gpt4 book ai didi

c++ - 如何在没有 C++ 辅助方法的情况下反转句子中的单词?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:46:58 25 4
gpt4 key购买 nike

<分区>

我需要读取字符串(带空格)并将其反转。

首先我从控制台读取了一串字符。

char array[100];

for(int i = 0; i < sizeof(array); i++)
array[i] = '0';

for(int i = 0; i < sizeof(array); i++)
cout<<array[i]<<" ";

cout<<"\n\nenter your string: ";

cin.getline(array, 100);

cout<<"\n";

for(int i = 0; i < sizeof(array); i++)
cout<<array[i]<<" ";

然后我创建并填充索引数组。 (要记住空间点)

cout<<"\n\nindexes: ";

int indexes[20];
for(int i = 0; i < 20; i++)
{
indexes[i] = 0;
}

// filling the indexes array
int j = 0;
for(int i = 0; i < sizeof(array); i++)
{
if(array[i] == '0') break;
if(array[i] == ' ') indexes[j++] = i;
}
// validating indexes array
for(int i = 0; i < sizeof(indexes); i++)
{
//if(indexes[i] == 0) break;
cout<<indexes[i]<<" ";
}

这是我的(我猜不聪明)算法的开始。我想反转第一个字。
似乎这个 block 永远不会执行。为什么?

// first word
int j1 = indexes[0]-1;
for(int i = 0; i > indexes[0]; i++)
{
new_array[i] = array[j1-i];
cout<<"\naction\n";
}

将 new_array 打印到控制台:

for(int x = 0; x < sizeof(new_array); x++)
{
if(new_array[x] == '0') break;
cout<<new_array[x]<<" ";
}

结果是:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

输入你的字符串:这是我的字符串

t h i s i s m y s r i n g 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

索引:4 7 10 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -858993460 -858993460 100 -858993460 -858993460 100 -858993460 -858993460 100 -858993460 -858993460 1936287860 544434464 1931508077 1852404340 805314663 808464432 808464432 808464432 808464432 808464432 808464432 808464432 808464432 808464432 808464432 808464432 808464432 808464432 808464432 808464432 808464432 808464432 808464432 808464432 808464432 -858993460 -742139265 6421640 18244041 1 9932784 9928256 -742139185 0 0 2129674240 -1920 570026249 0 6422528 0 6421580 0 6421712 18223374 -759898201 0 6421648 18244541

新数组:

为什么索引数组在零之后包含这些数字?它的长度只有 20。
为什么不打印 new_array ?

我知道我的解决方案非常非常麻烦)

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com