Se consideră fișierul prosir.in care conține pe primul rând un text format din cel mult 199 de caractere litere mici și spații. Cuvintele din text sunt separate prin unul sau mai multe spații. Să se modifice textul citit din fișier prin înlocuirea ultimei litere a fiecărui cuvânt cu cifra 5. Textul modificat se va afișa pe ecran. Date de intrare Fișierul de intrare prosir.in conține pe prima linie șirul de caractere. Date de ieșire Fișierul de ieșire prosir.out va conține pe prima linie șirul modificat conform cerinței. Restricții și precizări lugimea șirului citit este maximum 200 ultimul cuvânt din text se termină cu caracterul ‘.’
#include
#include
using namespace std;
ifstream fin("prosir.in");
ofstream fout("prosir.out");
char sir[202],sep[]=" ",*p;
char c[]="5";
int i;
int main()
{fin.getline(sir,201);
for(i=0;i
if(sir[i+1]==' ')
strcpy(sir+i,c);
if(sir[i+1]=='.')
strcpy(sir+i,c);
}
fout << sir<< endl;
}
express:
Problema nu se face asa...trebuie sa folosesti functia strtok....
Răspunsuri la întrebare
Răspuns de
7
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
int main()
{ char char s[201];
int i;
ifstream in("prosir.in");
ofstream out("prosir.out");
in.get(s,201);
for(i=1;s[i];i++)
if(s[i]==' ' and isalpha(s[i-1]))
s[i-1]='5';
s[strlen(s)-2]='5';
cout<<s;
return 0;
}
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
int main()
{ char char s[201],s1[201],*p;
int i;
ifstream in("prosir.in");
ofstream out("prosir.out");
in.get(s,201);
p=strtok(s," ");
while(p)
{p[strlen(p)-1]='5';
strcat(s1,p);
strcat(s1," ");
p=strtok(NULL," ");
}
cout<<s1;
return 0;
}
#include <fstream>
#include <cstring>
using namespace std;
int main()
{ char char s[201];
int i;
ifstream in("prosir.in");
ofstream out("prosir.out");
in.get(s,201);
for(i=1;s[i];i++)
if(s[i]==' ' and isalpha(s[i-1]))
s[i-1]='5';
s[strlen(s)-2]='5';
cout<<s;
return 0;
}
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
int main()
{ char char s[201],s1[201],*p;
int i;
ifstream in("prosir.in");
ofstream out("prosir.out");
in.get(s,201);
p=strtok(s," ");
while(p)
{p[strlen(p)-1]='5';
strcat(s1,p);
strcat(s1," ");
p=strtok(NULL," ");
}
cout<<s1;
return 0;
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Geografie,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Studii sociale,
9 ani în urmă