#include <iostream>
#include <string>
#include <vector>
using namespace std;
vector <string> words;
void splitSent (string sent);
int main()
{
string sent;
cout << "Enter your sentence: " << endl;
getline (cin, sent);
splitSent (sent);
string finalSent;
for (unsigned int i = 0; i < words.size(); i++)
{
if (words[i] == "i")
{
finalSent += "I ";
i++;
}
if (words[i] == "instructor")
{
finalSent += "name of prof ";
i++;
}
finalSent += words[i];
finalSent += " ";
}
cout << "Final sentence is: " << finalSent << "." << endl;
return 0;
}
void splitSent (string sent)
{
int Pos = 0; // Position
string word;
while (Pos < sent.length())
{
while ((Pos < sent.length()) && (sent[Pos] != ' '))
{
word += sent[Pos];
Pos++;
if (sent[Pos] == '.')
{
break;
}
};
words.push_back(word);
word = "";
Pos++;
}
}
Bu, programım şu ana kadar "i" ile "I" değiştirmeye çalışıyorum ve "eğitmen" i, profemin adıyla değiştirmeye çalışıyorum. Ancak, her zaman bir cümlede ikiden fazla "i" var, bir hata mesajı alıyorum ve neden emin değilim. CümleHata, dönüş değeri 3221225477
Bu kod derlenmez; En az çalışan bir örnek vermeniz gerekiyor. Örneğin, “splitSent” veya “checkSent” in ne yaptığını bilmiyoruz ve kelimelerin nereden geldiğini bilmiyoruz. Ayrıca, aldığınız hataları açıklamanız gerekir. – Mike
Yea, yeni tamir ettim, bir bakabilir misin? –
[çocuk süreci 3221225477 durumundan çıkıldı] (http://stackoverflow.com/questions/10306272/apache-crashing-parent-child-process-exited-with-status-3221225477-restarti) bunun bir segmentasyon hatası olacağını söylüyor - tahsis edilmeyen belleğe erişim. Onun için bahse girerim çünkü sen artik artar ve daha sonra ona erişirsin. – Obicere