PDA

View Full Version : سوال: رفع اشکال شمارش تعداد کاراکتر رشته اراکتری(در c)



ramsese kabir
سه شنبه 04 تیر 1387, 01:14 صبح
#include <stdio.h>
#include <conio.h>
#include <string.h>
int strlen(char[30]);
int main()
{
char str[30];
int len = 0;
int counter = 1;
int ptr ;
int i;
printf("please enter ur character:\n");
scanf("%s",&str);
len = strlen( str );
for ( i=0 ; i <= len ; i++ )
{
ptr = i + 1;
while( str[ptr] != '\0' )
{
if ( str[ i ] == str[ptr] )
counter++;
ptr++;
}
printf("Num of '%s' = %d\n", str[ i ] , counter);
counter = 1;
}
getch();
return 0;
}
int strlen(char str[30])
{
int j=0;
while(str[j]!= '\0')
{
j++;
}
return j;
}

ramsese kabir
سه شنبه 04 تیر 1387, 01:16 صبح
نمیدونم چرا ارور میده.لطفآراهنمایی کنید.

Nima_NF
سه شنبه 04 تیر 1387, 18:26 عصر
باید دو قسمت کد را به شکل زیر تغییر دهید، مخصوصا کوچکتر مساوی را به کوچکتر تغیییر دهید تا برنامه در یک حلقه اشتباه نیافتد:



for ( i=0 ; i < len ; i++ )


به جای s برای کارکتر از c استفاده کنید:



printf("Num of '%c' = %d\n", str[i] , counter);


ضمنا نیازی به تعریف strlen نیست، چرا که یک تابع استاندارد در string.h هست، پس تعریف تابع را حذف کنید.


لطفا کد هایتان را در تگ code قرار دهید تا خوانا باشد
موفق باشید