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

Программа, считывающая текст из файла - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
osipov93
3 / 3 / 0
Регистрация: 17.10.2011
Сообщений: 131
15.06.2012, 08:44     Программа, считывающая текст из файла #1
Написать программу, которая считывает текст из файла и записывает в другой файл встречающиеся в тексте числа, из отрезка [a,b] и находит их среднее арифметическое.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2012, 08:44     Программа, считывающая текст из файла
Посмотрите здесь:

Программа, которая считывает текст из файла и выводит на экран строки, содержащие двузначные числа C++
C++ Программа, считывающая заданный текстовый файл и выводящая на экран, а также дописывающая в новую строку в конец этого файла...
C++ программа, которая считывает текст из файла
C++ Программа не обрабатывает текст из файла с кодировкой, отличной от ANSI
Программа, считывающая файл построчно и выводящая на экран только строки, не содержащие двузначных чисел C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
15.06.2012, 09:19     Программа, считывающая текст из файла #2
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
#include <iostream>
#include <fstream>
#include <string>
using namespace std; 
 
int main() 
{   
    setlocale(0, "rus");
    ifstream infile("Text.txt"); // выходной поток
    ofstream outfile("copy.txt"); // входной поток
    int a = 2;  // a
    int b = 9;  // b
    int sum = 0; // сумма элементов
    int count = 0; // счётчик элементов
    char ch; 
    while(!infile.eof()) // до конца файла
    {  
        infile >> ch; 
        if(ch == '2' || ch<= '9') 
        { 
            sum += ch; // прибавляем к сумме
            count++;   // увеличиваем счётчик на 1
            outfile << ch << " "; // записываем в файл
        } 
    }  
 
    cout << "Среднее арифмическое равно " << sum/count << endl; 
    system("Pause");
 
}
Добавлено через 12 минут
Ты файл с такими именами создал? Записал туда текст?

Добавлено через 27 секунд
И не пиши мне в личку, пиши в тему.
osipov93
3 / 3 / 0
Регистрация: 17.10.2011
Сообщений: 131
15.06.2012, 09:27  [ТС]     Программа, считывающая текст из файла #3
David Sylva, всё. вроде работает

Добавлено через 6 минут
считывает неправильно
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
15.06.2012, 09:29     Программа, считывающая текст из файла #4
Что именно считывает неправильно
osipov93
3 / 3 / 0
Регистрация: 17.10.2011
Сообщений: 131
15.06.2012, 09:32  [ТС]     Программа, считывающая текст из файла #5
Цитата Сообщение от David Sylva Посмотреть сообщение
Что именно считывает неправильно
среднее арифметическое
NKT55
3 / 3 / 0
Регистрация: 15.10.2011
Сообщений: 31
15.06.2012, 09:43     Программа, считывающая текст из файла #6
Ребята почти аналогичная программа только записать в другой файл нужно предложения заканчивающиеся вопросительным знаком
osipov93
3 / 3 / 0
Регистрация: 17.10.2011
Сообщений: 131
15.06.2012, 09:51  [ТС]     Программа, считывающая текст из файла #7
выводит сумму а не среднее арифметическое
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
15.06.2012, 10:51     Программа, считывающая текст из файла #8
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
#include <iostream>
#include <fstream>
using namespace std; 
 
int main() 
{   
    setlocale(0, "rus");
    ifstream infile("Text.txt"); // выходной поток
    ofstream outfile("copy.txt"); // входной поток
    int a = 0;  // a
    int b = 9;  // b 
    unsigned int number;
    int sum = 0; // сумма элементов
    int count = 0; // счётчик элементов
    char ch; 
    while(!infile.eof()) // до конца файла
    {  
        infile.get(ch); 
        if(ch == '0' || ch <='9') 
        { 
            number = atoi(&ch); 
            sum += number;
            
            count++; 
        }
    } 
    cout << "Summa ravna " << sum << endl; 
    cout << "Sednie arifmiticheskoe " <<  sum / count << endl; 
}
Добавлено через 20 минут
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
#include <iostream>
#include <fstream>
using namespace std; 
 
int main() 
{   
    setlocale(0, "rus");
    ifstream infile("Text.txt"); // выходной поток
    ofstream outfile("copy.txt"); // входной поток
    int a = 0;  // a
    int b = 9;  // b 
    unsigned int number;
    int sum = 0; // сумма элементов
    int count = 0; // счётчик элементов
    char ch; 
    while(!infile.eof()) // до конца файла
    {  
        infile.get(ch); 
        if(ch == '0' || ch <='9') 
        { 
            number = atoi(&ch); 
            sum += number;
            
            count++;  
            outfile << ch << " ";
        } 
    
    } 
    cout << "Summa ravna " << sum << endl; 
    cout << "Sednie arifmiticheskoe " <<  sum / count << endl; 
}
Добавлено через 13 секунд
Исправлено

Добавлено через 20 минут
Попробуй вот так, только символы английские
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
#include <iostream>
#include <fstream>
using namespace std; 
 
int main() 
{   
    setlocale(0, "rus");
    ifstream infile("Text.txt"); // выходной поток
    ofstream outfile("copy.txt"); // входной поток
    int a = 0;  // a
    int b = 9;  // b 
    unsigned int number;
    int sum = 0; // сумма элементов
    int count = 0;
    char ch;  
    while(!infile.eof()) // до конца файла
    {  
        infile.get(ch); 
        if(ch == '0' || ch <='9') 
        {   
            
            
 
            number = atoi(&ch); 
            sum = sum + number; 
            outfile << ch << " ";  
            
            count++;
        }   
        
    
    } 
    cout << "Summa ravna " << sum  << endl;  
    cout << count  << endl;
    cout << "Sreddnie arifmiticheskoe  " <<  sum / count << endl; 
}
osipov93
3 / 3 / 0
Регистрация: 17.10.2011
Сообщений: 131
15.06.2012, 10:58  [ТС]     Программа, считывающая текст из файла #9
дублирует последний символ с документа text.txt
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
15.06.2012, 11:05     Программа, считывающая текст из файла #10
у меня работает нормально.
osipov93
3 / 3 / 0
Регистрация: 17.10.2011
Сообщений: 131
15.06.2012, 11:09  [ТС]     Программа, считывающая текст из файла #11
что вводишь в text ?

Добавлено через 1 минуту
что вводишь в text?
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
15.06.2012, 11:09     Программа, считывающая текст из файла #12
aaaa55555aaaaaaaaa
osipov93
3 / 3 / 0
Регистрация: 17.10.2011
Сообщений: 131
15.06.2012, 11:14  [ТС]     Программа, считывающая текст из файла #13
нужно чтобы считывал отрезок. например a=2 b=9
ввожу текст asdfgfg12345678934 он должен считать числа от 2 до 9 и найти их среднее арифметическое
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
15.06.2012, 11:22     Программа, считывающая текст из файла #14
В чём проблема поменяй в условии 0 на 2, сохрани данную строчку в Text.txt и всё будет работать.
osipov93
3 / 3 / 0
Регистрация: 17.10.2011
Сообщений: 131
15.06.2012, 11:26  [ТС]     Программа, считывающая текст из файла #15
пишет в copy 1
выводит сумма равна 56
12
среднее значение 4
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
15.06.2012, 11:36     Программа, считывающая текст из файла #16
Незнаю почему у тебя так пишет, у меня всё работает, последний рабочий вариант
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
#include <iostream>
#include <fstream>
using namespace std; 
 
int main() 
{   
    setlocale(0, "rus");
    ifstream infile("Text.txt"); // выходной поток
    ofstream outfile("copy.txt"); // входной поток
    int a = 2;  // a
    int b = 9;  // b 
    unsigned int number;
    int sum = 0; // сумма элементов
    int count = 0; // счётчик элементов
    char ch; 
    while(!infile.eof()) // до конца файла
    {  
        infile.get(ch); 
        if(ch == '2' || ch <='9') 
        { 
            number = atoi(&ch); 
            sum += number;
            
            count++;  
            outfile << ch << " ";
        } 
    
    } 
    cout << "Summa ravna " << sum << endl; 
    cout << "Sednie arifmiticheskoe " <<  sum / count << endl; 
}
внеси в файл Text.txt строку asdfgfg12345678934 и напоминаю символы английские
osipov93
3 / 3 / 0
Регистрация: 17.10.2011
Сообщений: 131
15.06.2012, 12:06  [ТС]     Программа, считывающая текст из файла #17
неправильно работает
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.06.2012, 12:09     Программа, считывающая текст из файла
Еще ссылки по теме:

Программа, которая считывает текст из файла, и выводит на экран только цитаты C++
C++ Программа не считывает с файла текст полностью

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
15.06.2012, 12:09     Программа, считывающая текст из файла #18
У меня работает нормально.
Yandex
Объявления
15.06.2012, 12:09     Программа, считывающая текст из файла
Ответ Создать тему
Опции темы

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