Afişează mesaje
Pagini: [1]
1  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: Ajutor program inserare '?' dupa fiecare aparitie a unui cuvant intrun sir : Iunie 22, 2014, 13:40:54
Acum mi-am dat seama ce ,,comparare ,, eronata faceam eu..multumesc de ajutor !
2  infoarena - concursuri, probleme, evaluator, articole / Informatica / Ajutor program inserare '?' dupa fiecare aparitie a unui cuvant intrun sir : Iunie 21, 2014, 21:18:28
Cod:
#include<iostream>
#include<fstream>
#include<string.h>
using namespace std;
void inserare(char s[100],int &n,char el,int i)//s este sirul,n lungimea,el este defapt '?' iar i pozitia pe care sa fie inserat
{
    int j;
    for(j=n;j>=i;j--)
        s[j+1]=s[j];
    s[i]='?';
    n++;


}

int main()
{
    int i,n,rez,ok=1,j,w,pi,poz;
    char s[100],v[]="aeiou",s2[16];
    cin.get(s,100);
    cin.get();
    cin.get(s2,16);
    n=strlen(s)-1;
    for(i=0;i<=n;i++)//parcurg sirul
        {
          if(s[i]==' ')//parcurg sirul pana intalnesc spatiu
          {
              poz=i-1;//poz primes i-1 pentru a merge pe ultima litera a cuvantului
              rez=1;
              for(j=pi;j<=poz;j++)//parcurg cuvantul gasit si il compar litera cu litera cu cuvantul citit de la tastatura
                for(w=0;w<strlen(s2);w++)
                 if(s[j]!=s2[w])
                    {
                       rez=0;
                       j=poz+1;//opresc parcurgerea in cazul in care gasesc un element care nu corespunde
                    }
                    ok=1;//resetez ok pentru a memora prima litera de la urmatorul cuvant
                    if(rez==1)
                    {
                        inserare(s,n,'?',i);
                        i=i+2;//stiind ca exista un singur spatiu intre fiecare cuvant sar 2 pozitii si ajung pe prima litera a cuvantului urmator
                    }
           }
          else if(ok==1)//memorez prima litera a cuvantului
          {
              pi=i;
              ok=0;
          }
        }
    for(i=0;i<=n;i++) cout<<s[i];
    return 0;
}

Niste sfaturi pentru a rezolva aceasta problema ?
Daca cuvantul citit este ana iar sirul este : ana ana ana  programul nu face nimic
3  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: Ajutor program dublare vocale : Iunie 20, 2014, 23:00:28
scriu ABA afiseaza : AABA
dar daca scriu : AA afiseaza : AAAA...nu mai inteleg nimic
P.S:am adaugat acel i++
4  infoarena - concursuri, probleme, evaluator, articole / Informatica / Ajutor program dublare vocale : Iunie 20, 2014, 22:07:26
Cod:
#include<iostream>
#include<fstream>
#include<string.h>
using namespace std;
void inserare(char s[100],int &n,char el,int i)
{
        int j;
        for(j=n;j>=i;j--)
                {
                        s[j+1]=s[j];
                }
        s[i]=el;
        n++;

}
int main()
{
        int i,n;
        char s[100],v[]="aeiou";
        cin.get(s,100);
        n=strlen(s)-1;
        for(i=0;i<=n;i++)
                {
                   if(strchr(v,s[i])!=0) inserare(s,n,s[i],i);
                }
        for(i=0;i<=n;i++) cout<<s[i];
        return 0;
}

De ce nu functioneaza acest program ?Multumesc anticipat !
Pagini: [1]
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines