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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.76
Casl
0 / 0 / 0
Регистрация: 17.12.2012
Сообщений: 5
#1

Дан текстовый файл. Извлечь из файла цифры записать их в массив - C++

18.12.2012, 21:50. Просмотров 2237. Ответов 5
Метки нет (Все метки)

Дан текстовый файл .
В файле находятся строки 5-6 строк .
В каждой строке есть цифры .
Извлечь из файла цифры записать их в массив , даже если это нули не потерять их .
Полученный массив преобразовать в числовой , не потеряв нули (если это возможно)
Пример :
Приветствие назначено на 21:30
Обед по расписанию 15:00

Извлечь только цифры 21301500 . Забить в массив и не потерять нули .
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2012, 21:50     Дан текстовый файл. Извлечь из файла цифры записать их в массив
Посмотрите здесь:

В текстовом файле t записаны буквы латинского алфавита и цифры. Занести в текстовый файл h из текстового файла t только латинские буквы. C++
C++ Дан текстовый файл. Удалить из файла числа, кратные 3
Дан текстовый файл, содержащий целые числа. В каждой строке этого файла найти сумму наибольшего и наименьшего элементов и записать их в другой C++
C++ Дан текстовый файл, в котором записана последовательность целых чисел. Записать в новый файл только четные из них
C++ Дан текстовый файл. Переписать компоненты файла в другой файл, заменив при этом каждое сочетание букв “no” на “on”
C++ Записать из файла f четные цифры в файл g, а нечетные в файл h
C++ Из файла прочесть массив, а результат работы программы записать в файл
C++ Записать в новый текстовый файл для каждого числа из оригинального файла само число, произведение его цифр
Имеется типизированный файл, элементами которого являются отдельные символы. Все цифры этого файла записать во C++
C++ Считать массив из файла, записать результаты в другой файл
Массив считать из файла, отсортировать по возрастанию и записать в новый файл C++
C++ Записать массив в текстовый файл построчно

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
19.12.2012, 07:47     Дан текстовый файл. Извлечь из файла цифры записать их в массив #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
char buf[1000],buf1;
int i=0;
while(feof(file)){
     fscanf(file,"%c",&buf1)
     if(buf1>='0'&&buf<='9')
         buf[i++]=buf1;
}
buf[i]='\0';
int *mas=new int[strlen(buf)];
cout<<endl;
for(int i=0;i<strlen(buf);i++){
    mas[i]=buf[i]-'0';
    cout<<mas[i]<<endl;
}
Casl
0 / 0 / 0
Регистрация: 17.12.2012
Сообщений: 5
19.12.2012, 08:56  [ТС]     Дан текстовый файл. Извлечь из файла цифры записать их в массив #3
Извини , непонятно мне в коде 2 строки .
while(feof(file)) <--- что она значит. как бы вайл это цикл foef мне тоже знакомо считывание файла пока он не закончится .
if((buf1>='0'/)&&(buf<='9')) а в этой строке пишет несовместимые типы операндов . char .

И как файл загрузить что бы он с ним работал или куда это прописать ?


Заранее спасибо
Salty_Sugar
 Аватар для Salty_Sugar
26 / 26 / 1
Регистрация: 02.04.2012
Сообщений: 140
19.12.2012, 09:14     Дан текстовый файл. Извлечь из файла цифры записать их в массив #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <fstream>
#include <iostream>
 
using namespace std;
 
void main()
{
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
 
char str[100];
int n;
char nums[10] = {'0','1','2','3','4','5','6','7','8','9'}; //массив чисел для сравнения
 
while( !feof(stdin) ) // пока не конец файла
{
gets(str); // читаем строку
n = strlen(str); //находим длинну строки
 
for( int i = 0; i < n; i++ )
for( int j = 0; j < 10; j++ ) if( str[i] == nums[j] ) cout << str[i]; //в цикле сравниваем элементы массива str[] и, если равен, то выводим в файл
}
}
Casl
0 / 0 / 0
Регистрация: 17.12.2012
Сообщений: 5
19.12.2012, 09:23  [ТС]     Дан текстовый файл. Извлечь из файла цифры записать их в массив #5
Просто огромное !! Гигантское СПАСИБО !!!!!!!!!!
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
19.12.2012, 16:17     Дан текстовый файл. Извлечь из файла цифры записать их в массив #6
Цитата Сообщение от Casl Посмотреть сообщение
while(feof(file)) <--- что она значит. как бы вайл это цикл foef мне тоже знакомо считывание файла пока он не закончится .
feof возвращает всякие разные значения и когда указатель дойдет до конца файла возвратит 0.
соответственно

Цитата Сообщение от Casl Посмотреть сообщение
if((buf1>='0'/)&&(buf<='9')) а в этой строке пишет несовместимые типы операндов . char .
ну тут небольшой мой косяк, но могли бы и сами догадаться
C++
1
 if(buf1>='0'&&buf<='9')
buf1 является массивом а buf символом вот он и ругается на buf<='9'
C++
1
 if(buf1>='0'&&buf1<='9')
ну про файл вам объяснили уже.

Цитата Сообщение от Salty_Sugar Посмотреть сообщение
C++
1
2
for( int i = 0; i < n; i++ )
for( int j = 0; j < 10; j++ ) if( str[i] == nums[j] ) cout << str[i];
трудоемкий процесс достаточно O(n*10) в среднем конечно будет O(n*5) но тоже не мало проще будет смотреть попадает ли символ в диапазон значений цифр из таблицы ASCII
Yandex
Объявления
19.12.2012, 16:17     Дан текстовый файл. Извлечь из файла цифры записать их в массив
Ответ Создать тему
Опции темы

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