
04-02-2008, 11:21
|
 |
|
|
חבר מתאריך: 08.10.02
הודעות: 827
|
|
סתם משהו שחשבתי עליו שמבזבז הרבה זכרון :|
קוד:
#include <stdio.h>
#include <string.h>
char *cnt(unsigned char *str) {
char abc[256] = { 0 };
char *a = new char[1024];
a[0] = 0;
while (*str) { abc[*str]++; str++; } //Count
char num[5]; //Will hold number in string format
int z = 0, n = 0;
for (int i = 0; i < 256; i++) {
if (abc[i] > 0) {
n = sprintf(num, "%d", abc[i]); //Convert number to string
memcpy(a + z, num, n); //Copy number to string
z += n;
a[z] = i;
z++;
}
}
a[z] = 0;
return a;
}
int main() {
char str[] = "aaaaabbbbttttkkkk";
printf("Return: %s\n", cnt((unsigned char *) str));
return 0;
}
פלט:
Return: 5a4b4k4t
_____________________________________
Error: Keyboard not found
Press F1 to continue
|