Advertisement
Milaj

Untitled

Nov 22nd, 2015
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.91 KB | None | 0 0
  1. // Гистограмма.cpp: определяет точку входа для консольного приложения.
  2. #include <stdio.h>
  3. #include "stdafx.h"
  4. #include <iostream>
  5. #define STO 100 // константа для вычесления процента;
  6. #define SUMM a // cумма КОЛИЧЕСТВА чисел массива;
  7. #define DRYGIE_SIMVOLY no // количество других символов 0..9;
  8. int main()
  9. {
  10. setlocale(LC_ALL, "Russian"); // русский язык и начинай
  11. int c, i, k, f, no, a; int nd[10]; float np[10];
  12. no = a = c = i = f = 0;
  13. // c - строка; i,k - счетчик; f - счетчик наибольшего процента;
  14. // a -кво символов; no-остальные символы; nd=массив; np=%массивов;
  15. printf("Введите число\n(В конце потока поставьте ''/'' и нажмите [ENTER]): \n");
  16. for (i = 0; i < 10; ++i) // Цикл для обнуления масcивов с 0 по 9..
  17. { nd[i]=0;
  18. np[i]=0; }
  19. while ((c = getchar()) != '/') // Основной цикл программы:
  20. { if (c >= '0' && c <= '9') // Запись переменных в nd[10] или в no..
  21. ++nd[c - '0'];
  22. else
  23. ++DRYGIE_SIMVOLY; }
  24. for (i = 0; i < 10; i++)
  25. SUMM = SUMM + nd[i];
  26. for (i = 0; i < 10; ++i)
  27. { if (f < nd[i] / 100) // i массив в процентах, где F наибольшее значение
  28. np[i] = f = nd[i] * (SUMM / 100);
  29. else
  30. np[i] = nd[i] * (SUMM / 100);
  31. printf("[%d] = %d|", i, np[i]);
  32. for (k = 0; k != nd[i]; ++k) // k - счетчик
  33. { printf("#"); }
  34. printf("\n"); }
  35. printf("[Всего ]= %d \n[Другие]= %d\n[Пикововое Значение]= %d", SUMM, DRYGIE_SIMVOLY, f);
  36. while (getchar() != EOF); // чтоб не закрывалась консолька
  37. return 0; }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement