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

Файловый ввод/вывод - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ странный порядок вывода cout http://www.cyberforum.ru/cpp-beginners/thread1122673.html
Доброго времени суток. Есть шаблонный класс stack, и небольшая тестовая программка. Ожидаемый вывод после выполнения программы немного не совпадает с действительным выводом. Подскажите, почему так? stack underflow11 12 -1 stack underflow-1 11 12 //stack.h
C++ Калькулятор выражений Здравствуйте. Есть функция в калькуляторе принимающая значения. Не могу додумать как заставить ее работать с двухзначными и более числами. Нужна помощь :) int parse(char* expression) { TStackElem* operands = NULL, *operations = NULL; for(unsigned int i = 0; i < strlen(expression); i++) { char symb = expression; if (symb >= '0' && symb <= '9') { http://www.cyberforum.ru/cpp-beginners/thread1122576.html
Правило использования функции, которая возвращает массив C++
Необходимо задать функцию которая возвращает массив. Вот пример программы которую я написал: const int N=100; const double A0=1, h=0.01; double *Progonka(double *A, double *B, double *C, double *F, double first, double second) { int i; double *y, *alfa, *betta; alfa=(double*)malloc((N)*sizeof(double));
C++ Запрограмировать математические суммы
Вычислить суммы \sum_{k=1}^{N} \frac{1}{\sqrt{k}} и \sum_{k=N}^{1} \frac{1}{\sqrt{k}} , составить таблицу результатов для N=10 в степени i, где i=3,4,5,6. Сравнить результати для разных типов данных float, double
C++ Сгенерировать последовательность 10 000 случайных чисел. Найти сумму этих чисел, проводя суммирование возрастающем порядке http://www.cyberforum.ru/cpp-beginners/thread1122568.html
Сгенерировать последовательность 10 000 случайных чисел на промежутке [0,1) типа float. Найти: a. сумму этих чисел, проводя суммирование в последовательном порядке; b. возрастающем порядке; c. убывающем порядке. Подскажите пожалуйста варианты реализации подзадачи b(c).
C++ Могут ли два приложения пользоваться одной и той же выделенной памятью? День добрый! С помощью FileMapping, в ActiveX компоненте, создана область в памяти куда копируются объекты (текстуры и файлы STL). Эти объекты содержат указатели на элементы созданные в выделяемой памяти. Объекты копируются туда чтобы несколько программ обращались к одной области памяти для загрузки текстур и файлов STL что значительно сокращает объем занимаемой программой памяти. Так вот... подробнее

Показать сообщение отдельно
John Prick
754 / 687 / 123
Регистрация: 27.07.2012
Сообщений: 1,974
Завершенные тесты: 3
18.03.2014, 13:29     Файловый ввод/вывод
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/*
Составить программу, которая считывает строку текста из файла
input.txt. Обрабатывает и в результате работы программы в файле
отчета (output.txt) необходимо в алфавитном порядке расположить
буквы из которых состоит текст с их количеством.
*/
 
#include <stdlib.h>
#include <iostream>
#include <fstream>
 
const int eng_letters = 26;
const int rus_letters = 33;
 
int main(void)
{
    setlocale(LC_ALL, "rus");
 
    std::ifstream input("input.txt");
    if (!input.is_open())
    {
        std::cout << "Не удалось открыть файл input.txt\n";
        system("pause");
        return 0;
    }
 
    int eng_letter_arr[eng_letters];
    int rus_letter_arr[rus_letters];
    std::fill(eng_letter_arr, eng_letter_arr + eng_letters, 0);
    std::fill(rus_letter_arr, rus_letter_arr + rus_letters, 0);
 
    while (!input.eof())
    {
        char str[100];
        input >> str;
        int len = strlen(str);
        int i = 0;
        while (i != len)
        {
            char letter = tolower(str[i]);
            if ((letter >= 'a') && (letter <= 'z'))
                ++(eng_letter_arr[letter - 'a']);
            if ((letter >= 'а') && (letter <= 'я'))
                ++(rus_letter_arr[letter - 'а']);
            ++i;
        }
    }
 
    std::ofstream output("output.txt");
    for (int i = 0; i < eng_letters; ++i)
    {
        if (eng_letter_arr[i] > 0)
        {
            std::cout << static_cast<char>(i + 'a') << ' ' << eng_letter_arr[i] << '\n';
            output << static_cast<char>(i + 'a') << ' ' << eng_letter_arr[i] << '\n';
        }
    }
    for (int i = 0; i < rus_letters; ++i)
    {
        if (rus_letter_arr[i] > 0)
        {
            std::cout << static_cast<char>(i + 'а') << ' ' << rus_letter_arr[i] << '\n';
            output << static_cast<char>(i + 'а') << ' ' << rus_letter_arr[i] << '\n';
        }
    }
 
    system("pause");
}
 
Текущее время: 06:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru