Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Гистограмма.cpp: определяет точку входа для консольного приложения.
- #include <stdio.h>
- #include "stdafx.h"
- #include <iostream>
- int main()
- {
- setlocale(LC_ALL, "Russian"); // русский язык и начинай
- int i, k, f, no, a,z, c; int nd[10];
- no = a = c = i = f = z= 0;
- // c - строка; i,k - счетчик; f - счетчик наибольшего процента;
- // a -кво символов; no-остальные символы; nd=массив; float nd=%массивов;
- printf("Введите число\n(В конце потока нажмите [ENTER]): \n");
- for (i = 0; i < 10; ++i) // Цикл для обнуления массиввов с 0 по 9..
- { nd[i]=0; }
- // создал массив
- while ((c = getchar()) != '\n') // Основной цикл программы:
- {
- if (c >= '0' && c <= '9') // Запись переменных в nd[10] или в no..
- ++nd[c - 48];
- else
- ++no;
- }
- for (i = 0; i < 10; i++)
- {
- a = a + (nd[i]);
- if (f < nd[i]) // где F наибольшее значение
- f = nd[i]; // где F наибольшее значение
- }
- for (i = 0; i < 10; ++i)
- {
- z = ((nd[i]*10)/(float) f + 0.5); //- размер столбика шириной в k
- printf("[%d] = %4.f|", i, (float)nd[i]);
- for (k = 0; k != z; ++k) // k - счетчик
- printf("*");
- printf("\n");
- }
- printf("[За единицу при построении взято] = %4.2f\n", 10/(float)f);
- printf("[Всего введено символов]= %d \n[Веддено символов отличных от 0..9]= %d\n[Пикововое Значение гистограммы]= %d", a+no, no, f);
- //-----------------------------------------------------------------------------------
- // вертикальная
- printf("\n\nВертикальная:\n");
- /*for (i = 10; i>=0; --i)
- {
- if (nd[i] == 0)
- z = 0;
- else
- z = (((nd[i] * 10) / (float)f)*2);
- for (k = 10; k >= z; --k)
- {
- if (z == i)
- {
- printf("[#]");
- nd[k] = nd[k] - 1;
- }
- else
- printf("[ ]");
- }
- printf("\n");
- }*/
- for (k = 11; k>0; --k)
- {
- for (i = 0; i < 10; i++)
- {
- z = ((10 * nd[i]) / f) + 0.5;
- if (nd[i] != EOF)
- {
- if (k > 0 && k == z)
- {
- printf("[*]");
- nd[i] = EOF;
- }
- else if (k != z)
- printf("[ ]");
- }
- else
- {
- printf("[*]");
- }
- }
- printf("\n");
- }
- for (i = 0; i < 15; i++)
- printf("--");
- printf("\n");
- for (i = 0; i < 10; i++)
- printf("[%d]", i);
- while (getchar() != EOF); // чтоб не закрывалась консолька
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement