История изменений
Исправление exception13, (текущая версия) :
okay
serge@blackblade:~$ cat char_bar_chart.c
#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
#define RESULT_SIZE 256
int main(int argc, char **argv) {
int result[RESULT_SIZE];
char *current_char;
int current_position;
int current_result;
bzero((void *) result, sizeof(result));
if (argc != 2) {
printf("usage:\n\t%s \"some string\"\n", argv[0]);
return 1;
}
for (current_char = argv[1]; *current_char; current_char++) {
result[*current_char]++;
}
printf("\nstring: %s\n", argv[1]);
printf("char\tcount\n");
for (current_position = 0; current_position < RESULT_SIZE; current_position++) {
if ((current_result = result[current_position]) > 0) {
printf("%c\t%i\n", current_position, current_result);
}
}
return 0;
}
serge@blackblade:~$ gcc -o char_bar_chart char_bar_chart.c
serge@blackblade:~$ ./char_bar_chart "some string"
string: some string
char count
1
e 1
g 1
i 1
m 1
n 1
o 1
r 1
s 2
t 1
или таки надо гистограмму а не таблицу?
Исходная версия exception13, :
okay
serge@blackblade:~$ cat char_bar_chart.c
#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
#define RESULT_SIZE 256
int main(int argc, char **argv) {
int result[RESULT_SIZE];
char *current_char;
int current_position;
int current_result;
bzero((void *) result, sizeof(result));
if (argc != 2) {
printf("usage:\n\t%s \"some string\"\n", argv[0]);
return 1;
}
for (current_char = argv[1]; *current_char; current_char++) {
result[*current_char]++;
}
printf("\nstring: %s\n", argv[1]);
printf("char\tcount\n");
for (current_position = 0; current_position < RESULT_SIZE; current_position++) {
if ((current_result = result[current_position]) > 0) {
printf("%c\t%i\n", current_position, current_result);
}
}
return 0;
}
serge@blackblade:~$ gcc -o char_bar_chart char_bar_chart.c
serge@blackblade:~$ ./char_bar_chart "some string"
string: some string
char count
1
e 1
g 1
i 1
m 1
n 1
o 1
r 1
s 2
t 1
[\code]
или таки надо гистограмму а не таблицу?