[問題]pop跟queue的堆疊問題
看板C_and_CPP (C/C++)作者conan77420 (人生就是不停的戰鬥)時間16年前 (2010/06/11 00:18)推噓2(2推 0噓 3→)留言5則, 2人參與討論串1/3 (看更多)
例子:
輸入data:12345
輸入決定:3
輸出:32145
再輸入決定:4
輸出:41235
其實就是把資料放在一個stack中,
再將指定的數字前的資料(含指定數字)放入queue中,再放回stack中
自己寫了一個很醜的程式碼如下:
想法是直接在儲存資料的array上動手腳
#include<iostream.h>
#include<string.h>
void finalstate(char*,char*,char*);
int main()
{
char data[20];
char temp[20];
char rule[20];
printf("輸入資料:");
scanf("%s",data);
printf("指定資料:"); //輸入一連串的,例如第一次3,第二次是5,則輸入35
scanf("%s",rule); //再讓程式一次跑完顯示最後結果
finalstate(data,rule,temp);
system("pause");
}
void finalstate(char data[],char rule[],char temp[])
{int c=0;
int length=strlen(data);
for(int i=0,j=0,k=0 ; i<length-1 ; i++)
{
while(data[j]!=rule[i]) //似乎是這個while有問題
{temp[k++]=data[j++];}
temp[k++]=data[j++];
k=0;
while(j>=0)
{data[j--]=temp[k++];}
k=0;j=0 ;
}
printf("%s",data);
}
我的執行結果會有問題,不是出現亂碼就是程式跑一下就將視窗關閉
目前debug覺得應該是第一個while有問題
請問該如何修改?
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 115.43.51.16
推
06/11 00:27, , 1F
06/11 00:27, 1F
→
06/11 00:37, , 2F
06/11 00:37, 2F
推
06/11 00:39, , 3F
06/11 00:39, 3F
→
06/11 00:41, , 4F
06/11 00:41, 4F
→
06/11 00:42, , 5F
06/11 00:42, 5F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 3 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章