数组的求解

zhjboss 2004-06-29 08:41:12
现在有一个字符串 STR=aa;rr;ar;ae;ac;aefasdf;sdv;weq;qqwe;ie;asdf;sdvewa;
有一数组S[],S[]是以STR的";"作为分开的,如S[0]=aa s[1]=rr s[2]=ar
s[3]=ae,s[4]=ac,s[5]=aefasdf,就这样做下去,求s[n]是多少,怎么写函数呢?
...全文
188 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhjboss 2004-08-14
  • 打赏
  • 举报
回复
hi
zhjboss 2004-07-02
  • 打赏
  • 举报
回复
up
SimonSui 2004-07-02
  • 打赏
  • 举报
回复
流程图怎么给你看啊!
CSDN可以贴图吗?
zhjboss 2004-07-01
  • 打赏
  • 举报
回复
up
BlueAllRise 2004-06-30
  • 打赏
  • 举报
回复
流程图??没写过...
这个是Pascal的源代码,应该很容易看得懂..
i:=pos(';',str);
while i>0 do
begin
inc(sum);
s[sum]:=copy(str,1,i-1);
delete(str,1,i);
i:=pos(';',str);
end;
只列出了关键的代码...
Pos函数是寻找Str里是不是有";"
copy是拷贝Str从1到i-1的字符串
delete就是删除字符串了....
love22 2004-06-30
  • 打赏
  • 举报
回复
up
zhjboss 2004-06-30
  • 打赏
  • 举报
回复
能写流成图吗?
zhjboss 2004-06-30
  • 打赏
  • 举报
回复
up
mmmcd 2004-06-29
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <string.h>

int main()
{
char STR[]="aa;rr;ar;ae;ac;aefasdf;sdv;weq;qqwe;ie;asdf;sdvewa;";
char s[100][100];
int i,j,k,L=0;
for (i=0,j=0;*(STR+L)!=0;i++)
{
strcpy(s[i],strtok(STR+L,";"));
L+=strlen(s[i])+1;
j++;
}

for(i=0;i<j;i++)
{
printf("s[%d]=%s\n",i,s[i]);
}
return 0;
}
mmmcd 2004-06-29
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <string.h>

int main()
{
char STR[]="aa;rr;ar;ae;ac;aefasdf;sdv;weq;qqwe;ie;asdf;sdvewa;";
char s[100][100];
int i,j,k;
for(i=0,j=0;i<strlen(STR);i++)
{
k=0;
while(i<strlen(STR) && STR[i]!=';')
{
s[j][k++]=STR[i++];
}
s[j][k]='\0';
j++;
}

for(i=0;i<j;i++)
{
printf("s[%d]=%s\n",i,s[i]);
}
return 0;
}
BlueAllRise 2004-06-29
  • 打赏
  • 举报
回复
也就是找到一个“;”就把它前面的那些字符串保存起来,第n个“;”就用s[n-1]保存..保存后,在把这个“;”和他前面的元素删掉,再找第一个“;”的位置...重复就可以了
zhjboss 2004-06-29
  • 打赏
  • 举报
回复
好像都不行啊,不太看的懂
pacman2000 2004-06-29
  • 打赏
  • 举报
回复
用strtok()更好。

strcpy(s[0],strtok(STR,";"));
for (i=1;i<=n;i++)
strcpy(s[i],strtok(NULL,";"));
mmmcd 2004-06-29
  • 打赏
  • 举报
回复
for(i=0,j=0;i<strlen(STR);i++)
{
k=0;
while(i<strlen(STR) && STR[i]!=';')
{
s[j][k++]=STR[i++];
}
s[j][k]='\0';
j++;
}
zhjboss 2004-06-29
  • 打赏
  • 举报
回复
find函数怎么写呢?
zhjboss 2004-06-29
  • 打赏
  • 举报
回复
能写流成图吗?
zhouqingyuan 2004-06-29
  • 打赏
  • 举报
回复
上面有一点小错误,应该改int nPos=0;为int nPos=-1;
zhouqingyuan 2004-06-29
  • 打赏
  • 举报
回复
#include <string>
#include <iostream>
using namespace std;
int main()
{
int n;
string str="aa;rr;ar;ae;ac;aefasdf;sdv;weq;qqwe;ie;asdf;sdvewa;";
cout<<"please input the number:"<<endl;
cin>>n;
int nPos=0;
for(int i=0;i<n;i++)
{
nPos=str.find(";",nPos+1);
}
int pos=str.find(";",nPos+1);
string str1=str.substr(nPos+1,pos-nPos-1);
cout<<str1<<endl;
return 0;
}

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧