Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 13.02.2011
Сообщений: 31

Нужно переделать, чтобы программа могла считывать данные с файла и записывать в него результат.

13.11.2011, 16:00. Показов 1577. Ответов 13
Метки нет (Все метки)

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



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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include<iostream.h>
#include<math.h>
#include<conio.h>
 
void main()
{
int i=0, j=0, x=0, y=0, F=0;
clrscr();
cout<<"Programma v nekvadratnoi matrize, kazhdui element, krome granichnix,"<<endl;
cout<<"zamenyaet summoi neposredstvenno primukayschix k nemy elementov : "<<endl<<endl;
 
//Вводим размерность матрицы:
do
{
cout<<"Vvedite kol-vo strok massiva: "<<endl;
cin>>x;
cout<<"Vvedite kol-vo stolbzov massiva: "<<endl;
cin>>y;
if (x==y)
{
cout <<"Matriza dolzhna but ne kvadratnoi"<<endl;
F=0;
}
else
{
F=1;
}
}
while (F==0);
int mas[50][50], mas_out[50][50];
 
cout<<"Vvedite massiv"<<endl;
 
//Создание массива:
for (int i=0; i<x; i++)
{
for (int j=0; j<y; j++)
{
cin>>mas[i][j];
}
}
cout<<endl<<"Vash massiv"<<endl;
 
//Вывод массива на экран
for (int i=0; i<x; i++)
{
for (int j=0; j<y; j++)
{
cout<<mas[i][j]<<" ";
}
cout<<endl;
}
 
 
 
cout<<endl<<"Matrizi posle vupolneniya zadaniya: "<<endl;
 
for (i=0; i<x; i++)
for (int j=0; j<y; j++)
{
mas_out[i][j]=mas[i][j];
}
for (i=0; i<x; i++)
for (int j=0; j<y; j++)
{
if (i!=0 & j!=0 & i!=x-1 & j!=y-1)
{
mas_out[i][j]=mas[i][j+1]+mas[i+1][j]+mas[i][j-1]+mas[i-1][j];
}
}
 
//Вывод обработанного массива на экран:
for (int i=0; i<x; i++)
{
for (int j=0; j<y; j++)
{
cout<<mas_out[i][j]<<" ";
}
cout<<endl;
}
getch();
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.11.2011, 16:00
Ответы с готовыми решениями:

Программа, которая могла бы записывать в себя данные
Как реализвать программу, которая бы прочитала из текстового файла (с:\file.txt) содержимое (text) и записала (записала не на время работы...

Из текстового файла считывать строку, обрабатывать и результат записывать в тот же файл
Программа должна работать следующим образом, из текстового файла считывать строку, обрабатывать и результат записывать в тот же файл. ...

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

13
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
13.11.2011, 16:23
попробуй это
C++
1
if (i!=0 & j!=0 & i!=x-1 & j!=y-1)
заменить на это
C++
1
if (i!=0 && j!=0 && i!=x-1 && j!=y-1)
0
0 / 0 / 0
Регистрация: 13.02.2011
Сообщений: 31
13.11.2011, 16:25  [ТС]
Цитата Сообщение от kzru_hunter Посмотреть сообщение
попробуй это
C++
1
if (i!=0 & j!=0 & i!=x-1 & j!=y-1)
заменить на это
C++
1
if (i!=0 && j!=0 && i!=x-1 && j!=y-1)
И что будет??? я где-то читал, что чтение это fcanf, а запись fprintf, а как это применить к моей программе я не знаю...
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
13.11.2011, 16:33
Цитата Сообщение от Kroleg Посмотреть сообщение
И что будет???
оператор & знаете, чем отличается от оператора &&?
Цитата Сообщение от Kroleg Посмотреть сообщение
я где-то читал, что чтение это fcanf, а запись fprintf, а как это применить к моей программе я не знаю...
у вас уже вместо этих функций используются cin и cout
0
0 / 0 / 0
Регистрация: 13.02.2011
Сообщений: 31
13.11.2011, 16:37  [ТС]
Цитата Сообщение от kzru_hunter Посмотреть сообщение
оператор & знаете, чем отличается от оператора &&?

у вас уже вместо этих функций используются cin и cout
&& означает - логическое И. Это я нашел в интернете. А если одиночно использовать, то этом может быть, например, c = a & b или взятие адресса... Но я не до конца понял что же всё-таки означает &&
0
872 / 448 / 35
Регистрация: 25.10.2011
Сообщений: 910
13.11.2011, 16:49
&& = and = и
0
0 / 0 / 0
Регистрация: 13.02.2011
Сообщений: 31
13.11.2011, 16:56  [ТС]
Цитата Сообщение от DefineTrueFalse Посмотреть сообщение
&& = and = и
Ну это, в принципе, ничего не изменит в программе. Нужно сделать, чтобы она считывала с txt файла элементы матрицы и, проделав с ней операции, записала в файл. А у меня производится ввод с клавиатуры и всё.
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
13.11.2011, 17:15
Kroleg сорри, твое предложение плохо я прочитал. думал, что имелось в виду printf, а не fprintf.
вот как можно в файл записать:
C++
1
2
3
4
5
6
7
#include <fstream>
...
using namespace std;
...
fstream f("123.txt"); // открытие файла
f << 213; // запись в файл
f.close(); // закрытие файла
0
0 / 0 / 0
Регистрация: 13.02.2011
Сообщений: 31
13.11.2011, 18:25  [ТС]
Цитата Сообщение от kzru_hunter Посмотреть сообщение
Kroleg сорри, твое предложение плохо я прочитал. думал, что имелось в виду printf, а не fprintf.
вот как можно в файл записать:
C++
1
2
3
4
5
6
7
#include <fstream>
...
using namespace std;
...
fstream f("123.txt"); // открытие файла
f << 213; // запись в файл
f.close(); // закрытие файла
А как, например, считать с файла? Можете на моём примере показать?
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
13.11.2011, 18:43
Опять я поторопился в прошлом посте и нерабочий код написал. Вот как надо:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <fstream>
...
using namespace std;
...
// Çàïèñü â ôàéë
ofstream fout("C:\\123.txt", ios::out|ios::app); // îòêðûòèå ôàéëà ñ äîçàïèñüþ (ïðî ios íàïèñàíî â ñïðàâêå, â ïîèñêå ââåäè basic_filebuf)
//ofstream fout("C:\\123.txt"); // îòêðûòèå ôàéëà áåç äîçàïèñè
fout << 123; // запись числа 123 в файл
fout.close(); // çàêðûòèå ôàéëà
 
// ×òåíèå ñ ôàéëà
int i;
ifstream fin("C:\\123.txt"); // îòêðûòèå ôàéëà
fin >> i; // чтение в переменную i
fin.close(); // çàêðûòèå ôàéëà
cout << i;
0
0 / 0 / 0
Регистрация: 13.02.2011
Сообщений: 31
13.11.2011, 19:07  [ТС]
Цитата Сообщение от kzru_hunter Посмотреть сообщение
Опять я поторопился в прошлом посте и нерабочий код написал. Вот как надо:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <fstream>
...
using namespace std;
...
// Çàïèñü â ôàéë
ofstream fout("C:\\123.txt", ios::out|ios::app); // îòêðûòèå ôàéëà ñ äîçàïèñüþ (ïðî ios íàïèñàíî â ñïðàâêå, â ïîèñêå ââåäè basic_filebuf)
//ofstream fout("C:\\123.txt"); // îòêðûòèå ôàéëà áåç äîçàïèñè
fout << 123; // запись числа 123 в файл
fout.close(); // çàêðûòèå ôàéëà
 
// ×òåíèå ñ ôàéëà
int i;
ifstream fin("C:\\123.txt"); // îòêðûòèå ôàéëà
fin >> i; // чтение в переменную i
fin.close(); // çàêðûòèå ôàéëà
cout << i;
Можете, пожалуйста, хоть кусок моей программы переделать... а то я вообще не представляю как это должно выглядеть. Я не пойму, открыл я допустим файл и как будут считываться числа с этого файла в мою матрицу??
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
13.11.2011, 19:17
C++
1
2
3
4
5
6
7
8
9
ifstream fin("C:\\123.txt"); // открытие файла
for (int i=0; i<x; i++)
{
    for (int j=0; j<y; j++)
   {
        fin >> mas[i][j];
    }
}
fin.close(); // закрытие файла
если x и y тоже хранить в файле, то так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
int x, y;
ifstream fin("C:\\123.txt"); // открытие файла
fin >> x;
fin >> y;
for (int i=0; i<x; i++)
{
    for (int j=0; j<y; j++)
   {
        fin >> mas[i][j];
    }
}
fin.close(); // закрытие файла
сам файл может так выглядеть (если в нем еще x и y записаны):
2 3
1 2 3
2 2 2
0
0 / 0 / 0
Регистрация: 13.02.2011
Сообщений: 31
13.11.2011, 19:40  [ТС]
Цитата Сообщение от kzru_hunter Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
ifstream fin("C:\\123.txt"); // открытие файла
for (int i=0; i<x; i++)
{
    for (int j=0; j<y; j++)
   {
        fin >> mas[i][j];
    }
}
fin.close(); // закрытие файла
если x и y тоже хранить в файле, то так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
int x, y;
ifstream fin("C:\\123.txt"); // открытие файла
fin >> x;
fin >> y;
for (int i=0; i<x; i++)
{
    for (int j=0; j<y; j++)
   {
        fin >> mas[i][j];
    }
}
fin.close(); // закрытие файла
сам файл может так выглядеть (если в нем еще x и y записаны):
Ну вот я допустим пишу так:
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.h>
#include<math.h>
#include<conio.h>
 
void main()
{
 int i=0, j=0, x, y, F=0;
 clrscr();
 cout<<"Programma v nekvadratnoi matrize, kazhdui element, krome granichnix,"<<endl;
 cout<<"zamenyaet summoi neposredstvenno primukayschix k nemy elementov : "<<endl<<endl;
 
 int mas[50][50], mas_out[50][50];
 
 cout<<"Vvedite massiv"<<endl;
 
 //Создание массива:
 
ifstream fin("C:\\123.txt");
fin >> x;
fin >> y;
 
 for (int i=0; i<x; i++)
 {
  for (int j=0; j<y; j++)
  {
   fin>>mas[i][j];
  }
 }
 fin.close(); // закрытие файла
 cout<<endl<<"Vash massiv"<<endl;
А оно мне пишет, что неизвестная структура ifstream. По ходу я в этом вообще плаваю...
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
13.11.2011, 19:55
#include <fstream> + using namespace std;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.11.2011, 19:55
Помогаю со студенческими работами здесь

Fstream не может и записывать в файл, и считывать из него?
fstream file(&quot;as.txt&quot;); int number = 7; file &lt;&lt; number; int numb; file &gt;&gt; numb; cout &lt;&lt; numb &lt;&lt; endl; file.close(); Такой,...

В каком виде хранить данные в файле для того, чтобы программа могла их прочитать
Даны 2 ряда действительных чисел в текстовом документе Чем должны отделяться друг от друга числа чтобы программа их смогла считать? в...

Как считывать и записывать данные в файл
Собственно сабж.Как это сделать?В system:: вроде не нашел чего-то связанного с файлами. Добавлено через 1 час 27 минут Опять плохо...

ExcelDataReader: как записывать и считывать данные в Excel
Здравствуйте! Собственно, пошарился и на сайте, и в интернете в целом. Я не понимаю, как работать с файлами Excel. Нашёл...

Как записывать (считывать) данные в (из) системный буфер обмена?
Дали задание в котором необходимо производить запись и чтение данных в системный буфер обмена не могу разобраться как это сделать, помогите...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru