Форум программистов, компьютерный форум CyberForum.ru

Посимвольная обработка текстового файла: распределение всех слов по длине - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Работа с файлами http://www.cyberforum.ru/cpp-beginners/thread799097.html
Доброго времени суток... Необходимо выполнить следующее задание: Найти сумму первых шести элементов массива и записать вместо последнего элемента. (массив из 10 элементов) ВНИМАНИЕ! Нужно использовать работу с файлами (именно в этом и проблема). То есть создан, например у нас текстовый файл на диске Д под названием "лаб", в котором прописаны 10 циферок, мы оттуда должны их взять, выполнить...
C++ Размер вектора Подскажите функцию для класса vector, которая будет возвращать размер памяти, который занимает вектор. http://www.cyberforum.ru/cpp-beginners/thread799090.html
Проверьте ошибки пожалуйста в коде C++
Всем Доброго времени суток. Написал программу крестики нолики. Она ,что та не работает поможете? #include<Windows.h> #include<iostream> #include<iomanip> #include <stdio.h> #include <stdlib.h> #include <time.h>
Работа с файлами, структуры C++
Создать файл, содержащий сведения об отправке. Структура записи: номер поезда, станция назначения, время отправления, время в пути, наличие билетов. Написать программу, которая позволяет получить следующую справочную информацию: 1) наличие билетов на поезд с номером XXX. 2) время отправления поездов в город X во временном интервале от А до В часов; Помогите сделать 2) пункт #include...
C++ Высчитать значение выражения с приоритетами http://www.cyberforum.ru/cpp-beginners/thread799075.html
Дана строка символов, представляющих собой арифметическое выражение, содержащее только знаки +,-,*,/,(,) и строчные буквы английского алфавита. Требуется подсчитать результат выражения. Вход Первая строка входа содержит число n ≤ 26 количество параметров, входящих в арифметическое выражение. Следующие n строк содержат значение каждого параметра в формате t=x, где t название параметра...
C++ Двумерный массив через вектор Задача состоит в том, что надо создать массив строк через вектор, т.е. я хочу иметь возмость изменять как количество строк, так и их длину. подробнее

Показать сообщение отдельно
Черный ворон
129 / 123 / 6
Регистрация: 31.01.2012
Сообщений: 435
10.03.2013, 19:22     Посимвольная обработка текстового файла: распределение всех слов по длине
w0nder, ну попробую на примере. представим, что у нас файл выглядит так:
C++
1
1 12 12 12 123 1234
теперь запуская программу:
предполагаем, что в файле нет слов длиннее 25 букв
C++
1
int count[25];
считаем, что пока мы не начали читать количество слов с любым количеством букв в нем равно нулю
C++
1
for (int i=0; i<n; i++) count[i]=0;
открываем файл:
C++
1
ifstream input ("D:\\1.txt");
C++
1
2
3
4
5
6
7
8
9
10
11
while (!input.eof()){ //пока не добрались до конца файла
        input.get(c); //считываем из него один символ
        if (!check(c)){ //если это не разделитель
                t++; //то в текущем слове количество букв увеличиваем на единицу и переходим к следующему символу
        }
        else //если символ - разделитель
        {
                count[t-1]++; //то в ячейке массива с индексом t-1(потому что индексация у массива с нуля) увеличиваем значение на 1 
                t=0; //обнуляем количество букв в текущем слове и переходим к следующему символу
        }
}
таким образом в нулевой ячейке массива хранится количество однобуквенных слов
в первой - двухбуквенных
во второй - трех
итд.

для случая тестового файла результат будет
1
3
1
1

так понятнее?
 
Текущее время: 18:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru