27 янв 2020 (OFF) conf (S) :

Керниган и Ритчи - Упражнение 1.13

Напишите программу, печатающую гистограммы длин вводимых слов. Гистограмму легко рисовать горизонтальными полосами. Рисование вертикальными полосами - более трудная задача.
#include <stdio.h>

int main (int argc, char *argv[]) {

int digits[10] = {0};
int max_value = 0;
int c; /* for input */

while ((c = getchar()) != EOF) {
++digits[c - '0'];
}

for (int i = 0; i < 10; i++) {
if (max_value < digits[i]) {
max_value = digits[i];
}
}

while (max_value > 0) {
for (int i = 0; i < 10; i++) {
if (max_value == digits[i]) {
printf("*");
--digits[i];
}
else {
printf(" ");
}
}
printf("\n");
--max_value;
}

for (int i = 0; i < 10; i++) {
printf("%i", i);
}
printf("\n");
return 0;
}
ввод:
123456789023456789034567890456789056789067890789089090 вывод:
* *
* **
* ***
* ****
* *****
* ******
* *******
* ********
**********
0123456789

>  Пред.

Комментарии (0)

Показать комментарий
Скрыть комментарий
Для добавления комментариев необходимо авторизоваться
Версия: Mobile | Lite | Доступно в Google Play