Check if a string is palindrome 我æ£åœ¨ä½¿ç”¨ä¸Šé¢çš„链接æ¥å°è¯•è§£å†³è¿™ä¸ªé—®é¢˜ï¼ˆåœ¨è®¸å¤šå…¶ä»–人ä¸ï¼Œæˆ‘一直试图以ä¸åŒçš„æ–¹å¼æ•´å¤©è§£å†³å®ƒï¼Œè¿™æ˜¯æˆ‘的第一个C ++ï¼‰ã€‚æ‰€æœ‰å…¶ä»–ç¤ºä¾‹é€šå¸¸é‡‡ç”¨æ•°ç»„æ ¼å¼ï¼Œæˆ‘æ— æ³•å¯¹å•è¯çš„长度进行å‡è®¾ã€‚ 我试图制作一个程åºæ¥æ£€æµ‹ä¸€ä¸ªå•è¯æ˜¯å¦æ˜¯å›žæ–‡ã€‚我有一个文本文件,æ¯è¡Œä¸€ä¸ªå•è¯ï¼Œå¹¶å¸Œæœ›é€è¡Œæµ‹è¯•æ¯ä¸ªå•è¯ï¼Œå¦‚果它是回文,如果是,则将其打å°åˆ°å±å¹•ï¼Œå¦‚果没有,则忽略它而ä¸æ‰“å°å®ƒã€‚ 我认为找到回文的最好方法是é€è¡Œå转å•è¯å¹¶å°†å…¶ä¸ŽåŽŸå§‹å•è¯ç›¸åŒ¹é…,如果它们相åŒï¼ˆ==),则打å°å‡ºæ¥ã€‚以下是我到目å‰ä¸ºæ¢çš„情况:
#include <iostream>
#include <vector>
#include <string>
#include <cctype>
#include <fstream>
using namespace std;
int main(int argc, char *argv[]) {
std::string line;
std::ifstream infile("wordlist.txt");
}
string reverse(string line){
if (line == string(line.rbegin(), line.rend())) {
cout << string;
}
}
感谢所有帮助
ç”案 0 :(得分:0)
æˆ‘æƒ³ä½ çš„é—®é¢˜æ˜¯ä¸€ä¸ªå®¶åºä½œä¸šé—®é¢˜ï¼Œä½ 想获得一些关于如何完æˆC ++ç¼–ç çš„ä¿¡æ¯ã€‚
您似乎ä¸çŸ¥é“如何在C ++ä¸è¯»å–文件内容。 以下是如何执行æ¤æ“作的链接:
Read file-contents into a string in C++
我ä¸å¤ªç¡®å®šä½ 特别希望得到什么回ç”ã€‚å¦‚æžœä½ çš„é—®é¢˜æ˜¯ä¸€ä¸ªå®¶åºä½œä¸šé—®é¢˜ï¼Œè¿™é‡Œæœ‰ä¸€äº›å¦‚何询问的信æ¯ï¼š
https://meta.stackexchange.com/questions/10811/how-do-i-ask-and-answer-homework-questions
ç”案 1 :(得分:0)
#include<iostream>
#include<algorithm>
#include<string.h>
#include<fstream>
using namespace std;
int main() {
string line="", line_rev="";
ifstream infile;
infile.open("wordlist.txt");
do{
infile>>line;
line_rev=line;
reverse(line_rev.begin(), line_rev.end());
if(line==line_rev)
cout<<line<<endl;
}while(getline(infile, line));
//if(infile.is_open()){cout<<"open"<<endl;} //to check if file is open or not
//else{cout<<"unable to open"<<endl;}
return 0;
}
这是解决方案。我ä¸çŸ¥é“ä½ ä¸ºä»€ä¹ˆè¦åœ¨main()函数外写“å—符串åå‘(å—符串行)â€ã€‚