Форум программистов, компьютерный форум, киберфорум
Наши страницы

получить гистограмму (столбчатую диаграмму) длин всех слов файла ; - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Выделить память под динамический массив указателей http://www.cyberforum.ru/cpp-beginners/thread837308.html
Нужно выделить память вот под такое дело. Для примера n=5 . Ничего нагуглить так и не смог :( что есть : #include "stdafx.h" #include <iostream> #include "locale" using namespace std; int...
C++ метод find не находит значение в контейнере итак Каждая строка текстового файла DATA.TXT содержит информацию о городе, названии отеля и количестве звезд, присвоенном этому отелю. Данные разделены точкой с запятой, все остальные символы... http://www.cyberforum.ru/cpp-beginners/thread837303.html
Кто читал книги Г. Шилдта, отзовитесь C++
Вообщем случайно забрел в книжный и там купил "Полный справочник по С++ Г. Шилдт". Пришел домой решил почитать мнения людей о этой книге, я был в шоке что все так против Шилдта. Так вот вопрос...
Генератор рандомных чисел! Заполнение массива C++
Еще раз здравствуйте, я запускаю вот этот код (без точек останова): a=0; int rndm=0; while(a!=3) { srand(time(NULL)); rndm=rand()%100; speedm=rndm; cout<<"RANDOM="<<speedm<<endl; a++;...
C++ Чтобы считало и запомнило, но в консоль не вывело (есть аналог из класса string?) http://www.cyberforum.ru/cpp-beginners/thread837271.html
Привет парни! Раньше использовал связку: getch(ch); if (ololo) putch(ch); else .... Теперь пришло время С++. Есть ли аналог такой связки в С++ (в классе string)? А то ради...
C++ двусвязные списки. Исправить ошибку в коде Вводится последовательность чисел, и затем, когда встречается первое простое число - оно удаляется. Всё как бы хорошо, но единственный косяк, когда вводишь, к примеру: 2 5 2 2 - удаляются все 2ки. а... подробнее

Показать сообщение отдельно
Noreal
0 / 0 / 0
Регистрация: 12.04.2013
Сообщений: 43

получить гистограмму (столбчатую диаграмму) длин всех слов файла ; - C++

14.04.2013, 12:35. Просмотров 245. Ответов 0
Метки (Все метки)

Добрый день,помогите пожалуйста с программой.
Дан символьный файл . Считая, что количество символов в слове не превосходит двадцати:
1)определить, сколько в файле имеется слов, состоящих из одного, двух, трех и т. д. символов
2)определить количество слов в файле .
3)получить гистограмму (столбчатую диаграмму) длин всех слов файла ;(я попытался сделать).
Помогите добавить первый и второй пункт в программу.


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
 
#defineMAX_WORDS       20  /* максимальноеколичествослов */
#defineMAX_WORDLEN     20  /* максимальнаядлинаслова */
 
int main(void)
{
    int    i = 0, j = 0, count = 0, len[MAX_WORDLEN];
    char   words[MAX_WORDS][MAX_WORDLEN];
char * filename = "in.txt";
    FILE * pfile = NULL;
 
if ((pfile = fopen(filename, "r")) == NULL) {
perror("can't open file\n");
return EXIT_FAILURE;
    }
 
while (i < MAX_WORDS && (fscanf(pfile, "%s", words[i++]) != EOF));  /* считывание слов из файла в массив */
count = i - 1;                                                      /* определение количества слов */
 
printf("WORDS: ");
for (i = 0; i < count; ++i)
printf("%s, ", words[i]);
printf("\n\n");
 
memset(len, 0, sizeof(int) * MAX_WORDLEN);                          /* обнулениемассива, содержащегодлины */
for (i = 0; i < count; ++i)                                         /* вычислениедлинслов */
len[strlen(words[i])]++; 
 
for (i = 0; i < count; ++i)                                         /* выводгистрограммы */
    {
printf("%d: ", i);
 
for (j = 0; j < len[i]; ++j)
            printf("=");
 
        printf("\n");
    }
 
    printf("\n");
system("pause");
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.