T
tanil72
Здравствуйте.
Стоит задача ввести строку char с клавиатуры, вывести ее на экран и удалить в ней заданный символ.
Код следующий. Подпрограмма удаления вынесена в отдельную функцию. Но удаление символа проходит неправильно.
Подскажите, в чем ошибка.
Спасибо.
Стоит задача ввести строку char с клавиатуры, вывести ее на экран и удалить в ней заданный символ.
Код следующий. Подпрограмма удаления вынесена в отдельную функцию. Но удаление символа проходит неправильно.
Подскажите, в чем ошибка.
Спасибо.
C:
#include <iostream>
#include <stdio.h>
using namespace std;
char* del_char(char* s, char c){
// int s_len=strlen(s); char *p=new char[s_len-1];
char *p=s; int i=0;
while(s!='\0'){
if(s!=c) p=s;
else p=s[i+1];
i++;
}
*p='\0';
return p;
}
int main(){
int i, n=100;
char *s=new char[n];
char *tmp=new char[n-1];
char d='p';
cout<<"Vvedite stroku"<<endl;
cin.getline(s,n);
for(i=0;i<n;i++)
cout<<s;cout<<endl;
tmp=del_char(s,d);
for(i=0;i<n;i++)
cout<<tmp;cout<<endl;
return(0);
}