Informatică, întrebare adresată de btomici, 8 ani în urmă

Se citeste de la tastatura un text incheiat cu caracterul ' . '. Afisati pe ecran textul prelucrat astfel incat fiecare grup de cifre sa fie precedat de caracterul' # ".

Răspunsuri la întrebare

Răspuns de ArMyFoRHeLL
1
#include <iostream>
#include <string.h>
using namespace std;
void inserare(char s[],int i,int n)
{
    for(int d=n+1;d>=i;d--)
        s[d]=s[d-1];
        s[i]='#';
}
int main()
{
    char s[1000];
    unsigned i,n;
    cin.get(s,1000,'.');
    n=strlen(s);
    for(i=0;i<n;i++)
        if(s[i]>='0' && s[i]<='9')
        {
          inserare(s,i,n);
          n++;
          i++;
        }
        s[n]='.';
        s[n+1]='\0';
    cout<<s;
    return 0;
}



btomici: ce ai facut imi afiseazza # dupa fiecare cifra si trebuia dupa fiecare grup de cifre. de ex: ana 123 mere 234
btomici: afiseaza
btomici: ana 123# mere 234#
ArMyFoRHeLL: aici e modificarea:
ArMyFoRHeLL: #include <iostream>
#include <string.h>
using namespace std;
void inserare(char s[],int i,int n)
{
for(int d=n+1;d>=i;d--)
s[d]=s[d-1];
s[i]='#';
}
int main()
{
char s[1000];
unsigned i,n,ok=1;;
cin.get(s,1000,'.');
n=strlen(s);
for(i=0;i<n;i++)
{
if(s[i]>='0' && s[i]<='9' && ok)
{
inserare(s,i,n);
n++;
i++;
ok=0;
}
if(s[i]<'0' || s[i]>'9')
ok=1;
}
s[n]='.';
s[n+1]='\0';
cout<<s;
return 0;
}
Alte întrebări interesante