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

Запись в файл - C++

Восстановить пароль Регистрация
 
 
icanfly_bd
0 / 0 / 0
Регистрация: 24.10.2013
Сообщений: 19
24.10.2013, 14:42     Запись в файл #1
Задание:
Определить максимальный элемент массива, записанного в файле. Результат записать в новый файл.

Пишу такой код, однако программа записывает в файл не максимальный элемент.

Код
#include <iostream>
#include "fstream"
using namespace std;
const int n=50;
int main ()
{
	setlocale (0, "");
	int a[n], i, b, k;
	ifstream in ("1.txt");
	ofstream out("1out.txt");
	in >> k;
	for (i=0; i<k; i++)
			{
				in >> a[i];
			}
		b = a[0];
	for (i=1; i<5;i++)
	{
		if (b<a[i])
			b=a[i];
	}
	  		out << b;
	return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.10.2013, 14:42     Запись в файл
Посмотрите здесь:

C++ запись в файл
Запись в файл C++
запись в файл C++
запись в файл. не создается файл C++
Запись в файл C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.10.2013, 14:46     Запись в файл #2
Цитата Сообщение от icanfly_bd Посмотреть сообщение
for (i=1; i<5;i++)
Откуда 5 появилось?
icanfly_bd
0 / 0 / 0
Регистрация: 24.10.2013
Сообщений: 19
24.10.2013, 14:51  [ТС]     Запись в файл #3
Цитата Сообщение от alsav22 Посмотреть сообщение
Откуда 5 появилось?
фактически, вместо 5 там стояло k. В документе 1.txt в первой строке указано число 5, т.е. размерность массива.
Вот я и заменил это k на 5. Проверял)
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.10.2013, 14:55     Запись в файл #4
Что в файле и что записывает?
stavgan
Сообщений: n/a
24.10.2013, 14:56     Запись в файл #5
Цитата Сообщение от icanfly_bd Посмотреть сообщение
for (i=1; i<5;i++)
тут вместо 5 или 50 или твою константу n
icanfly_bd
0 / 0 / 0
Регистрация: 24.10.2013
Сообщений: 19
24.10.2013, 14:56  [ТС]     Запись в файл #6
Цитата Сообщение от alsav22 Посмотреть сообщение
Что в файле и что записывает?
В 1.txt
5
2 4 7 8 4
В 1out.txt
-858993460
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.10.2013, 14:58     Запись в файл #7
И файл, на открытие для чтения, всегда проверяйте.

Добавлено через 1 минуту
Вот так сделайте:
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>
using namespace std;
 
const int n=50;
 
int main ()
{
    setlocale (0, "");
    int a[n], i, b, k;
    ifstream in ("1.txt");
    if (in)
    {
        ofstream out("1out.txt");
        in >> k;
        for (i=0; i<k; i++)
        {
            in >> a[i];
        }
        b = a[0];
        for (i=1; i<5;i++)
        {
            if (b<a[i])
                b=a[i];
        }
        out << b;
    }
    else cout << "Error!" << endl;
    return 0;
}
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
24.10.2013, 14:59     Запись в файл #8
У меня работает, ничего не менял из кода, оставил так как есть.
icanfly_bd
0 / 0 / 0
Регистрация: 24.10.2013
Сообщений: 19
24.10.2013, 15:02  [ТС]     Запись в файл #9
Цитата Сообщение от alsav22 Посмотреть сообщение
И файл, на открытие для чтения, всегда проверяйте.

Добавлено через 1 минуту
Вот так сделайте:
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>
using namespace std;
 
const int n=50;
 
int main ()
{
    setlocale (0, "");
    int a[n], i, b, k;
    ifstream in ("1.txt");
    if (in)
    {
        ofstream out("1out.txt");
        in >> k;
        for (i=0; i<k; i++)
        {
            in >> a[i];
        }
        b = a[0];
        for (i=1; i<5;i++)
        {
            if (b<a[i])
                b=a[i];
        }
        out << b;
    }
    else cout << "Error!" << endl;
    return 0;
}
смысл? Сообщение не будет выводить, т.к. нет system ("pause");

Цитата Сообщение от Rivory Посмотреть сообщение
У меня работает, ничего не менял из кода, оставил так как есть.
Странно... спасибо, что проверили. Ошибки в коде я тоже найти не могу. ;( понять не могу в чем дело. Будто записывает в файл непроинилизированный элемент массива
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.10.2013, 15:10     Запись в файл #10
Цитата Сообщение от icanfly_bd Посмотреть сообщение
смысл? Сообщение не будет выводить, т.к. нет system ("pause");
Добавить трудно? Я же не знаю, как вы запускаете. Есть запуск с остановкой и без остановки в коде.
icanfly_bd
0 / 0 / 0
Регистрация: 24.10.2013
Сообщений: 19
24.10.2013, 15:11  [ТС]     Запись в файл #11
Цитата Сообщение от alsav22 Посмотреть сообщение
Добавить трудно? Я же не знаю, как вы запускаете. Есть запуск с остановкой и без остановки в коде.
Добавил, выводится эррор.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.10.2013, 15:11     Запись в файл #12
Ещё раз:
Цитата Сообщение от alsav22 Посмотреть сообщение
И файл, на открытие для чтения, всегда проверяйте.
Добавлено через 36 секунд
Цитата Сообщение от icanfly_bd Посмотреть сообщение
Добавил, выводится эррор.
Выводы?
icanfly_bd
0 / 0 / 0
Регистрация: 24.10.2013
Сообщений: 19
24.10.2013, 15:14  [ТС]     Запись в файл #13
Цитата Сообщение от alsav22 Посмотреть сообщение
Ещё раз:


Добавлено через 36 секунд

Выводы?
либо в коде ошибка(хотя у Rivory получилось), либо что-то с файлом(проверил через Свойства - > Безопасность. Галочки стоят на изменении, чтении, записи, чтении и выполнении и полном доступе)
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.10.2013, 15:17     Запись в файл #14
Цитата Сообщение от icanfly_bd Посмотреть сообщение
либо в коде ошибка
При чём здесь код, если файл не окрывается? Файл "1out.txt" в каком месте создаётся? Файл "1.txt" в каком месте находится?
icanfly_bd
0 / 0 / 0
Регистрация: 24.10.2013
Сообщений: 19
24.10.2013, 15:18  [ТС]     Запись в файл #15
Цитата Сообщение от alsav22 Посмотреть сообщение
При чём здесь код, если файл не окрывается? Файл "1out.txt" в каком месте создаётся?
в папке проекта, там же, где и 1.txt
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
24.10.2013, 15:20     Запись в файл #16
1.txt должен быть не в папке проекта, а в папке, в которой создается exe'шник. У меня это %проект%/Debug/Win32/

Хотя, щас прочитал ещё раз, если 1out создается в папке проекта, то и 1.txt должен быть виден от туда.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.10.2013, 15:21     Запись в файл #17
Имя файла, в папке проекта, с расширением (полное). Расширения файлов в системе видны?

Добавлено через 40 секунд
Цитата Сообщение от Rivory Посмотреть сообщение
1.txt должен быть не в папке проекта, а в папке, в которой создается exe'шник.
С чего это? Он должен быть там же, где создаётся файл для записи. icanfly_bd, среда какая?
icanfly_bd
0 / 0 / 0
Регистрация: 24.10.2013
Сообщений: 19
24.10.2013, 15:22  [ТС]     Запись в файл #18
Цитата Сообщение от alsav22 Посмотреть сообщение
Имя файла, в папке проекта, с расширением (полное). Расширения файлов в системе видны?

Добавлено через 40 секунд

С чего это? Он должен быть там же, где создаётся файл для записи. icanfly_bd, среда какая?
что подразумеваете под средой?) прошу прощения за столь глупый вопрос. Начинающий просто.
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
24.10.2013, 15:23     Запись в файл #19
Цитата Сообщение от alsav22 Посмотреть сообщение
С чего это?
Ну у меня RAD Studio из папки проекта не видит файл, а в папке exe'шника
- видит. Вот я и подумал...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2013, 15:23     Запись в файл
Еще ссылки по теме:

C++ Запись в файл
запись в файл с++ C++
Запись в файл C++

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.10.2013, 15:23     Запись в файл #20
Цитата Сообщение от icanfly_bd Посмотреть сообщение
что подразумеваете под средой?)
В чём код пишите?

Добавлено через 30 секунд
Цитата Сообщение от Rivory Посмотреть сообщение
Ну у меня RAD Studio из папки проекта не видит файл, а в папке exe'шника
- видит. Вот я и подумал...
От среды может зависеть. Я почему и спросил, где файл для записи создаётся.
Yandex
Объявления
24.10.2013, 15:23     Запись в файл
Ответ Создать тему
Опции темы

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