Originally posted by 11520350
View Post
Announcement
Collapse
No announcement yet.
[C++] các anh giúp em về bài này nhé :D
Collapse
X
-
-
PHP Code:#include"stdafx.h"
#include <stdio.h>
#include <conio.h>
#include<string.h>
void xoa(char st[20],int &l,int k)
{
int i;
for(i=k;i<l-1;i++)st[i]=st[i+1];
l--;
}
void main()
{
char st[20]="A13BC5s67E";
int i,l,t;
t=l=strlen(st);
for(i=0;i<t;i++)
if(st[i]<='9' && st[i]>='0')
{
xoa(st,l,i);
i--;
}
for(i=0;i<l;i++)printf("%c",st[i]);
getch();
}
Last edited by 11520338; 09-02-2012, 23:09.not..
Comment
-
@Tài : bài bạn làm tốt mà, cái bạn nói ở trên đúng ! Không xuất được nên mình đàn tạm dùng phương pháp cùi này vậy !
PHP Code:#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// define constant
#define MAXLENGTH 10
int main()
{
// get input string
char *input = new char[MAXLENGTH];
printf("Input, please : ");
gets(input);
// remove digit-character
char *output = new char[MAXLENGTH + 1]; // for null character
int index = 0;
for(int i = 0 ; i < strlen(input) ; ++ i)
if(input[i] < '0' || input[i] > '9')
output[index ++] = input[i];
output[index] = '\0';
// result
printf("Result : %s\n", output);
system("PAUSE");
delete [] input;
delete [] output;
return 0;
}
Cái mình làm thì phải tạo xâu mới (tốn bộ nhớ) nhưng được cái nhanh hơn 1 tẹo (tại nó 1 lướt qua xâu input đúng 1 lần duy nhất)
Tùy người, tùy trường hợp mà sử dụng hén !nguyendauit@gmail.com
Comment
-
Mình làm bài hồi sáng của mình như thế này!
PHP Code:void xoa(char s[])
{
int i;
for (i = 0; i < strlen(s); i++)
if(s[i] >= '0' && s[i] <= '9')
{
strcpy(s+i,s+i+1);
i--;
}
}
Comment
-
Tiện share Chuẩn hóa Chuỗi luôn (C).
PHP Code:#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <conio.h>
char* Del(char *s,int pos,int num)// ham delete
{
int n = strlen(s), i=pos+num;
if (i>=n) {s[pos]='\0'; return s;}
while (i<n)
{
s[i-num]=s[i];
i++;
}
s[i-num]='\0';
return s;
}
char* chuanhoa(char *s)
{
int n=strlen(s),i=n-1; /*
while (s[i]==' ') i--; //Xoa ki tu trong o cuoi
s[i+1]='\0';
i=0;
while(s[i]==' ')i++; //Xoa ki tu trong o dau
Del(s,0,i);
n=strlen(s);
for(i=0; i<n;++i) //Chuyen het thanh chu thuong
if((s[i]>=65)&&(s[i]<=90))
s[i]+=32;
i=0;n=strlen(s);
while(i<n) //Xoa ki tu trong thua
{
if((s[i]==' ')&&(s[i+1]==' '))
Del(s,i,1);
else ++i;
}
n=strlen(s); //Viet hoa dau chu
for(i=0; i<n; i++)
if(s[i]==' ') s[i+1]-=32;
s[0]=toupper(s[0]);*/
i=0;
while (s[i]!='\0')
{
if((!isalpha(s[i]))&&(s[i]!=32))
Del(s,i,1);
else ++i;
}
return s;
}
int main()
{
char s[100];
printf(" - Nhap vao chuoi: ");
gets(s);
printf("Chuoi sau chuan hoa: %s",chuanhoa(s));
getch();
}
Comment
Comment