Mam do napisania program, który będzie zawierał klasę, a w klasie metody takie jak:
- wypisz tekst(wypisze tekst, który wcześniej użytkownik wprowadził do tablicy),
- usuń powtarzające się znaki (usunie z tablicy znaki, które się powtarzają-np przy słowie tartak da wynik tark)
- wypisz tyle znaków od lewej ile chce użytkownik(np przy słowie tartak i liczbie znaków 3 da wynik tar)...
#include <cstdlib>
#include <iostream>
using namespace std;
class napis
{
public:
char tekst[20];
void wypisz();
void usunPow();//zlikwiduje powtórzenia znaków
void lewe(int);//zostawić z napisu podaną ilość znaków .lewe(5)=kompu
};
int main(int argc, char *argv[])
{
int ile;
napis wyraz;
cout<<"Napisz wyraz max 20-literowy: "<<endl;
wyraz.wypisz();
wyraz.usunPow();
cout<<"Ile liter ma byc wyswietlonych: "<<endl;
cin>>ile;
wyraz.lewe(ile);
system("PAUSE");
return EXIT_SUCCESS;
}
void napis::wypisz()
{
for(int i=0; i<20; i++)
tekst[i]=' ';
cin.getline(tekst,21);
cout<<tekst<<endl;
}
void napis::usunPow()
{
cout<<"Tekst bez powtorzen to: "<<endl;
for(int i=0; i<19; i++)
{
for(int j=i+1; j<20; j++)
if(tekst[j]==tekst[i])
{
for(int z=j;z<20; z++)
tekst[z]=tekst[z+1];
};
cout<<tekst[i];
};
cout<<endl;
};
void napis::lewe(int ile)
{
int dlugosc = strlen(tekst);
for(int i=0; i<ile && i < dlugosc; i++)
cout<<tekst[i]<<",";
cout<<endl;
};
Moje pytanie to czy ma ktoś pomysł na napisanie tej drugiej funkcji i co jest nie tak w tym kodzie...?
Z góry pozdrawiam i dziękuję za jakąkolwiek pomoc