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

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

Войти
Регистрация
Восстановить пароль
 
spone379
0 / 0 / 0
Регистрация: 13.05.2014
Сообщений: 45
#1

Переделать ввод программы для получения данных из текстового файла. - C++

20.05.2014, 15:46. Просмотров 280. Ответов 7
Метки нет (Все метки)

Надеюсь кто то поймет задание.
Есть программа и ее нужно модифицировать таким образом, чтобы значение считывались с текстового
файла, а результат вычислений записывался в файл.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
 
int main()
{setlocale (LC_ALL, "russian");
  int a[5];
  int i, k;
 
  cout << "После ввода каждого числа нажмите <ENTER>\n";
  for( i = 1; i < 6; i++ )
    {
    cout << "A[" << i << "] = ";
    cin >> a[i];
    }
  k = 0;
  for( i = 1; i < 6; i++ )
    if( a[i] != 0 )
      k += 1;
  cout << "В массиве " << k << " ненулевых элементов";
  return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2014, 15:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Переделать ввод программы для получения данных из текстового файла. (C++):

Организовать ввод данных из текстового файла - C++
Написал программу, работает. Но мне нужно чтобы Вы помогли мне вот в чём: в строках 71-81 и 51-61 нужно заменить все эти операции так,...

Переделать программу под ввод данных из файла - C++
Помогите пожалуйста реализовать чтение из файла. Вот эти вот точки они считываются с клавиатуры, а нужно из файла.. #include...

Переделать ввод данных - C++
Здравствуйте. В этом коде нужно поменять вводу данных в массив. Чтобы он от руки был. Помогите, пожалуйста. #include &lt;stdio.h&gt; ...

Ввод данных из файла для решения симплекс метода - C++
Доброго времени суток. Помогите пожалуйста, мне надо брать данные из текстового файла, обрабатывать их и выдавать в другой файл. В...

Ввод массива из текстового файла - C++
Нужно ввести одномерный массив целых чисел из текстового файла. Напишите, пожалуйста, код этой программы (желательно с пояснениями).

Ввод элементов в стек из текстового файла - C++
Здравствуйте! Есть такой код: struct node { int info; node*top; }; void main() { node *top,*k;

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
nmcf
5319 / 4639 / 1551
Регистрация: 14.04.2014
Сообщений: 18,452
20.05.2014, 16:05 #2
Используй ifstream и ofstream.
0
spone379
0 / 0 / 0
Регистрация: 13.05.2014
Сообщений: 45
20.05.2014, 16:09  [ТС] #3
Цитата Сообщение от nmcf Посмотреть сообщение
Используй ifstream и ofstream.
а как в код воплотить? просто #include<ofstream.h> ?
0
nmcf
5319 / 4639 / 1551
Регистрация: 14.04.2014
Сообщений: 18,452
20.05.2014, 16:14 #4
C++
1
2
3
4
5
ifstream ifs("infile.txt");
for(i = 0; i < 5; i++)
{
    ifs >> a[i];
}
1
spone379
0 / 0 / 0
Регистрация: 13.05.2014
Сообщений: 45
20.05.2014, 16:28  [ТС] #5
Цитата Сообщение от nmcf Посмотреть сообщение
C++
1
2
3
4
5
ifstream ifs("infile.txt");
for(i = 0; i < 5; i++)
{
    ifs >> a[i];
}
я не силен в этом деле. Можете поконкретнее пожалуйста
0
nmcf
5319 / 4639 / 1551
Регистрация: 14.04.2014
Сообщений: 18,452
20.05.2014, 16:51 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Создаёшь файл с таким именем, вводишь в него 5 чисел через пробел. Потом они считываются в массив.
1
Darkos
5 / 5 / 4
Регистрация: 16.05.2014
Сообщений: 82
Завершенные тесты: 1
20.05.2014, 17:54 #7
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от spone379 Посмотреть сообщение
C++
1
2
for( i = 1; i < 6; i++ ) { cout << "A[" << i << "] = "; cin >> a[i]; } k = 0; 
for( i = 1; i < 6; i++ ) if( a[i] != 0 ) k += 1;
Во первых:
в вашем коде ошибка: индексы в массиве начинаются с 0. Поэтому в циклах нужно писать так:
C++
1
2
3
  .  .  .
for( i = 0; i < 5; i++ )
  .  .  .
А полностью программа выглядит так:
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
/*test.txt*/ // Сюда записываем данные перед началом работы программы
15 0 -5 145 54 
 
/*main.cpp*/ // Собственно наша программа
#include <iostream>
#include <fstream>
using namespace std;
 
/* Сохраняем данные в файл */ void save(int k)
{
    ofstream fout("test.txt", ios::app);
    // Запись в файл
    fout << k << endl;
    fout.close();     // Закрываем файл
}
 
int main()
{setlocale (LC_ALL, "russian");
  int a[5];
  int i, k;
 
  ifstream fin("test.txt", ios::in);  // Открываем файл для чтения
 
  k = 0;
  for( i = 0; i < 5; i++ )
    {
    cout << "A[" << i << "] = ";
    fin >> a[i];
    cout << a[i] << endl;
    if( a[i] != 0 )
      k += 1;
    }
  cout << "В массиве " << k << " ненулевых элементa(ов)" << endl;
  save(k);
  cin.get();
  fin.close();
  return 0;
}
/*test.txt*/ // После выполнения программы
15 0 -5 145 54 
4 // Добавили количество ненулевых елементов
Все! Перед следующим запуском программы удалить содержимое test.txt и ввести туда 5 чисел.
1
outoftime
║XLR8║
510 / 432 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
20.05.2014, 18:46 #8
spone379, есть вариант попроще - переопределить стандартные потоки ввода\вывода.

C++
1
2
3
4
5
6
7
8
9
#include <iostream>
 
int main () {
    std::freopen("input", "r", stdin);
    std::freopen("output", "w", stdout);
    int value;
    std::cin >> value;
    std::cout << value;
}
Bash
1
2
ruslan@TFTM-K53TA:~/Programming/c++/cyberforum$ make && ./main 
clang++ main.cpp -o main -std=c++11 -W
Добавлено через 2 минуты
P.S. переопределять потоки удобно когда пишешь что-то на контесте, перед отправкой задачи просто удаляешь или комментируешь строку переопределения потоков вввода\вывода.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.05.2014, 18:46
Привет! Вот еще темы с ответами:

Переделать программу со вводом с клавиатуры на ввод из файла - C++
нужно сделать в программе чтоб ввод был из файла, а не с клавиатуры #include &lt;iostream&gt; #include &lt;locale.h&gt; #include &lt;math.h&gt; ...

Переделать программу на ввод данных в рантайме - C++
Здравствуйте, форумчане. Помогите пожалуйста в программу добавить ввод строки с клавиатуры: Чтобы вместо &quot;boys and girls&quot; задавался свой...

ввод структурированных данных в файл и вывод данных из этого файла на экран (сделать хра-нилище данных в файле). - C++
Здравствуйте) помогите написать программу, осуществляющую ввод структурированных данных в файл и вывод данных из этого файла на экран...

Преобразование текстового файла в двоичный и чтение исходных данных из двоичного файла. - C++
#include&lt;iostream&gt; #include&lt;fstream&gt; #include&lt;locale.h&gt; #include&lt;iomanip&gt; #include &lt;cstdlib&gt; using namespace std; struct...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.05.2014, 18:46
Ответ Создать тему
Опции темы

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