Usunięcie elementu z tablic charów

Usunięcie elementu z tablic charów
HE
  • Rejestracja:prawie 8 lat
  • Ostatnio:7 miesięcy
  • Postów:51
0

Witam dostałem za zadanie napisać program który usunie podany ciąg znaków przez uzytkownia z podanego wcześniej ciągu znaków także podanego przez użytkownika.
Naklepałem taki kodzik poniżej.
Problemem jest to że nie chcę dźwięku przy elemencie tablicy (improwizując dałem ''\7',ponieważ dane wyjsciowe maja tak wygladac lecz jest to znak specjalny który daje dźwięk) dając '\0' wypisywanie tablicy zatrzymuje się na tym elemencie ponieważ ten znak specjalny definiuje koniec tablicy,dajac spacje po prostu na danych wyjsciowych jest dziura.
Próbowałem funkcją erase ale ona działa tylko na stringach a zadanie polega na napisaniu programu w oparciu o tablice charów.

Kopiuj
#include <iostream>
using namespace std;
int length(char tab[])
{
	
	int n,i;
	for(i=0;tab[i]!='\0';i++)
	n=i+1;
    return n;
}
main()
{   char s[256],s0[256];
	cout<<"Podaj ciag znakow s   ";
	cin.getline(s,256);
	cout<<endl<<"Podaj ciag znakow s0   ";
	cin.getline(s0,256);
	int ile_s=length(s)-1;
	int ile_s0=length(s0)-1;
	int licznik=length(s0)-1;
	char * wsk_s=s;
	for(int i=ile_s;i>=0;i--)
	{
			if(s[i]==s0[licznik])
			{
				if(licznik==0)
				{
					for(int j=0;j<=ile_s0;j++)
					{
						wsk_s[i+j]='\7';
					}
					break;
				}
				licznik--;
			}
			else 
			{
			licznik=length(s0)-1;	
			
			}
		}
		cout<<wsk_s;
	}



edytowany 1x, ostatnio: flowCRANE
MarekR22
Moderator C/C++
  • Rejestracja:około 17 lat
  • Ostatnio:2 minuty
0

Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.