Răspuns :
Răspuns:
#include <iostream>
#include <cstring>
using namespace std;
char s[250], /* t[250]; */
int n,i;
int main()
{
cin.getline(s,250);
n=strlen(s);
while (s[i]!='m' && i<n) ++i;
if (i<n)
{ /*
strcpy(t,s+i+1);
strcpy(s+i+1,t);*/
s[i]='p';
cout << s;
}
else cout << "nu exista";
return 0;
}
Explicație:
- se cauta numai prima aparitie in sir.
- in cod 2 randuri de la if sunt puse in comentarii, deoarece in codebloks lucreaza varianta asta dar pe pbinfo, nu.
Iata info de pe pbinfo:
Eliminarea și inserarea unui caracter într-un șir
Acestea sunt operații frecvente și pot fi realizate cu ajutorul funcției strcpy. Deoarece comportamentul funcției strcpy este impredictibil dacă parametri se suprapun, este necesară utilizarea unui șir suplimentar.
Eliminarea unui caracter dintr-un sir
Următoarea secvență elimină din șirul s (presupus citit) caracterul de poziția x.
1. char s[256], t[256];
2. int x;
3. // ...
4. //eliminarea
5. strcpy(t , s + x + 1);
6. strcpy(s + x , t);
Inserarea unui caracter într-un sir
Următoarea secvență inserează în șirul s (presupus citit) de poziția x caracterul 'A'.
1. char s[256], t[256];
2. int x;
3. // ...
4. //inserarea
5. strcpy(t , s + x);
6. strcpy(s + x + 1 , t);
7. s[x] = 'A'; // echivalent, *(s+x) = 'A';
Consulta pbinfo, meniul Resurse, Clasa 10, Siruri de caractere
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Nu ezitați să ne contactați pentru orice întrebare sau dacă aveți nevoie de asistență suplimentară. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!