Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Sir de caractere  (Citit de 2824 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
Antaka
Strain


Karma: -1
Deconectat Deconectat

Mesaje: 2



Vezi Profilul
« : Iulie 18, 2012, 14:25:41 »

Se considera un text cu maximum 255 de caractere , format din litere mici bla bla. Scrieti un program care citeste de la tastatura textul si apoi determina tranformarea acestuia , eliminand prima si ultima consoana care apare in text.
Exemplu: mare frig saci
are frig sai.

Codul :
Cod:
#include <iostream>
#include <string.h>
#include <stdio.h>
using namespace std;
int voc(char z)
{
    if(z!='a' || z!='e' || z!='i' || z!='u')
    return 1;
    else
    return 0;
}

int main ()
{
    char *s,*t,*u,*x;
    int i,p,j,n,q;
    cout<<"Introduceti textul:";
    gets(s);
    n=strlen(s);
    i=0;
    j=n-1;
    while(i<=n && voc(*s))
    i++;
    while(j>=0 && voc(*s))
    j--;
    if(i>n && j==-1)
    cout<<"Nu exista consoane...";
    else{
    p=i;
    q=j;
    strncpy(t,s,p);
    strncpy(x,s+p+1,q);
    u=s+q+1;
    strcat(t,x);
    strcat(t,u);
    cout<<t;
    }
    return 0;
}

Nu-mi merge , imi da stop working..
Memorat
hiticas_abel
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 11



Vezi Profilul
« Răspunde #1 : Iunie 26, 2013, 11:33:11 »

Nu sunt sigur dar cred ca cel mai bine ar fi fost sa renunti la pointeri si sa lucrezi cu siruri :
Cod:
char s[20];
cin.getline(s, 20);
Memorat
AlexandruValeanu
Vorbaret
****

Karma: 29
Deconectat Deconectat

Mesaje: 167



Vezi Profilul
« Răspunde #2 : Iunie 26, 2013, 22:14:57 »

Te complici aiurea cu toate functiile alea...din punctul mea de vedere iti trebuie doar o functie care sterge caracterul de la pozitia i: strcpy(s+i,s+i+1);
Avand functia asta trebuie doar sa faci 2 parcurgeri de la inceputul sirului si de la sfarsitul sau si cand gasesti o consoana o stergi si iesi.
Ti-am atasat programul care face asta dar incearca mai intai sa-l scrii singur si daca nu iti iese uita-te pe rezolvarea mea. Succes!

PS: nu abuza de pointeri decat daca nu ai cum scapa
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines