С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 0
Регистрация: 05.10.2009
Сообщений: 101

Файлы

13.12.2009, 21:55. Показов 1357. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1. Задано 3 файла, состоящие из 7 чисел каждый.
Сформировать новый файл из чисел, принадлежащим одновременно всем трем файлам...помогите,пожалуйста, тему файлы не понимаю....
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.12.2009, 21:55
Ответы с готовыми решениями:

Заголовочные файлы .h, файлы исходного когда c/c++ и установление связи между ними
Всем добрый вечер!) Относительно недавно стал изучать c/c++, хочу полюбопытствовать ,так как появился вопрос. Почему при объявлении...

Работа в Visual Studio 2015 - как добавить файлы исходного кода и заголовочные файлы?
Приветствую всех! Столкнулся с тем, что решая задачи по книге Лафоре про графику, не смог добавить файлы .h и .cpp, скачав их с одной из...

Зачем нужно добавлять файлы в файлы исходного кода
Зачем нужно добавлять файлы в файлы исходного кода (кроме main.cpp)? И как вызвать из main.cpp другой файл?

14
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
13.12.2009, 22:22
1) Считать из файла все числа в 3 массива.
2) Найти нужные числа в четвертый массив.
3) Записать массив в файл.
0
1 / 1 / 0
Регистрация: 05.10.2009
Сообщений: 101
13.12.2009, 22:43  [ТС]
Теоретически я алгоритм понимаю, а не работает программа
0
 Аватар для perchik71
70 / 28 / 3
Регистрация: 08.08.2009
Сообщений: 60
13.12.2009, 22:57
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
#include <windows.h>
#include <fstream.h>
#include <list.h>
class files
{
list<int> file1;
list<int> file2;
list<int> file3;
int        buf;
public:
void open();
void save();
};
 
void files::save()
{
ofstream ofs(Имя сохраняемого файла,ios::out|ios::binary)
for(list<int>::iterator it=file1.begin();it!=file1.end();++it ) { ofs<<(*it); ofs<<" "; }
for(list<int>::iterator it=file2.begin();it!=file2.end();++it ) { ofs<<(*it); ofs<<" "; }
for(list<int>::iterator it=file3.begin();it!=file3.end();++it ) { ofs<<(*it); ofs<<" "; }
ofs.close();
}
 
void files::open()
{
ifstream ifs1(Имя 1 файла,ios::in|ios::binary)
if(ifs)
{
for(int i=0;i<7;i++) { ifs>>buf; file1.push_back(buf); }
}
ifstream ifs2(Имя 2 файла,ios::in|ios::binary)
if(ifs)
{
for(int i=0;i<7;i++) { ifs>>buf; file2.push_back(buf); }
}
ifstream ifs3(Имя 3 файла,ios::in|ios::binary)
if(ifs)
{
for(int i=0;i<7;i++) { ifs>>buf; file3.push_back(buf); }
}
ifs1.close();
ifs2.close();
ifs3.close();
}
Я примерно так вижу эту задачу )))
0
 Аватар для Gravity
577 / 571 / 65
Регистрация: 29.01.2009
Сообщений: 1,274
13.12.2009, 23:09
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
#include <stdio.h>
 
#define IFNAME1 "1.txt"
#define IFNAME2 "2.txt"
#define IFNAME3 "3.txt"
#define OFNAME "out.txt"
#define N 7
 
void fill_array(FILE *fp, int *a)
{
    int i;
    for(i = 0; i < N; i++)
        fscanf(fp, "%d", &a[i]);
}
 
int main(void)
{
    FILE *ifp1, *ifp2, *ifp3, *ofp;
    int i, j, k, a1[N], a2[N], a3[N];
    
    ifp1 = fopen(IFNAME1, "r");
    ifp2 = fopen(IFNAME2, "r");
    ifp3 = fopen(IFNAME3, "r");
    ofp  = fopen(OFNAME, "w");
    if(!ifp1 || !ifp2 || !ifp3 || !ofp) {
        perror("fopen");
        return -1;
    }
 
    fill_array(ifp1, a1);
    fill_array(ifp2, a2);
    fill_array(ifp3, a3);
 
    for(i = 0; i < N; i++) {
        for(j = 0; j < N; j++)
            for(k = 0; k < N; k++)
                if(a1[i] == a2[j] && a1[i] == a3[k]) {
                    fprintf(ofp, "%d ", a1[i]);
                    goto NEXT;
                }
        NEXT: 1;
    }
 
    fclose(ifp1);
    fclose(ifp2);
    fclose(ifp3);
    fclose(ofp);
    return 0;
}
0
 Аватар для perchik71
70 / 28 / 3
Регистрация: 08.08.2009
Сообщений: 60
13.12.2009, 23:14
Цитата Сообщение от perchik71 Посмотреть сообщение
ifstream ifs1(Имя 1 файла,ios::in|ios::binary)
Цитата Сообщение от perchik71 Посмотреть сообщение
ofstream ofs(Имя сохраняемого файла,ios::out|ios::binary)
Цитата Сообщение от perchik71 Посмотреть сообщение
ifstream ifs2(Имя 2 файла,ios::in|ios::binary)
Цитата Сообщение от perchik71 Посмотреть сообщение
ifstream ifs3(Имя 3 файла,ios::in|ios::binary)
Забыл поставит в конце ";" ....
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
13.12.2009, 23:18
Мне какой-то такой кусок кода видится:
C
1
2
3
4
5
6
7
8
...
FILE *f1, *f2, *f3, *fr;
int v1, v2, v3;
...
while ( (fscanf(f1,"%d",&v1) == 1) && (fscanf(f2,"%d",&v2) == 1) && (fscanf(f3,"%d",&v3) == 1) )
  if ( v1 == v2 && v2 == v3 )
    fprintf(fr, "%d ", v1);
...
0
425 / 229 / 87
Регистрация: 25.03.2009
Сообщений: 744
13.12.2009, 23:29
мне тут видится алгоритм std::set_intersection(...) который выполняет пересечение 2 интервалов.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
13.12.2009, 23:30
Понял, что не прав. Так сработает только, если числа в файлах на одних и тех же позициях...
0
1 / 1 / 0
Регистрация: 05.10.2009
Сообщений: 101
14.12.2009, 17:16  [ТС]
Gravity, непонятно использование оператора goto в конце+ можно ли как-то обойтись без define? Просто никогда им не пользовались ни на семинарах, ни на лекциях...
0
 Аватар для Gravity
577 / 571 / 65
Регистрация: 29.01.2009
Сообщений: 1,274
14.12.2009, 17:20
NastiKor,
C
1
2
3
4
5
#define IFNAME1 "1.txt"
#define IFNAME2 "2.txt"
#define IFNAME3 "3.txt"
#define OFNAME "out.txt"
#define N 7
=>
C
1
2
3
4
5
const char *IFNAME1 = "1.txt";
const char *IFNAME2 = "2.txt";
const char *IFNAME3 = "3.txt";
const char *OFNAME = "out.txt";
const int N = 7;
Goto прерывает внутренний цикл, чтобы не гоняться по массивам, когда число уже найдено.
0
1 / 1 / 0
Регистрация: 05.10.2009
Сообщений: 101
14.12.2009, 17:22  [ТС]
+ программа выдает ошибку:
1>c:\users\1\desktop\строки, структуры, функции\структуры\bredo\bro\bro.cpp(52) : fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?

Добавлено через 1 минуту
Gravity, т.е. в fopen можно просто указать так:
ifp1 = fopen("1.txt", "r");
ifp2 = fopen("2.txt", "r");
ifp3 = fopen("3.txt", "r");

?

N в данном случае равно 7?
0
 Аватар для perchik71
70 / 28 / 3
Регистрация: 08.08.2009
Сообщений: 60
14.12.2009, 17:23
Цитата Сообщение от NastiKor Посмотреть сообщение
+ программа выдает ошибку:
1>c:\users\1\desktop\строки, структуры, функции\структуры\bredo\bro\bro.cpp(52) : fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?

Добавлено через 1 минуту
Gravity, т.е. в fopen можно просто указать так:
ifp1 = fopen("1.txt", "r");
ifp2 = fopen("2.txt", "r");
ifp3 = fopen("3.txt", "r");

?

N в данном случае равно 7?
#include <stdafx.h> скорее всего
0
1 / 1 / 0
Регистрация: 05.10.2009
Сообщений: 101
14.12.2009, 19:10  [ТС]
perror и Next тоже неизвестные операторы...

Добавлено через 2 минуты
окно открывается и закрывается сразу....библиотека conio.h и getch(); перед return 0;
уже есть...

Добавлено через 2 минуты
забыла сказать...надо это с помощью функции написать..

Добавлено через 1 час 42 минуты
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
// Задано 3 файла, состоящие из 6 чисел каждый.
// Сформировать новый файл из чисел, принадлежащим одновременно всем трем файлам
 
#include "stdafx.h"
#include "conio.h"
 
void sort(char *s1,char *s2, char *s3, char *s4);
 
int _tmain(int argc, _TCHAR* argv[])
{ char s1[6],s2[6],s3[6],s4[6];
printf("Fail s1:\n");
 gets(s1);
 flushall();
printf("Fail s2:\n");
 gets(s2);
 flushall();
printf("Fail s3:\n");
 gets(s3);
 
 sort(s1,s2,s3,s4);
printf("New fail s3:\n");
 puts(s4);
 
    getch();
    return 0;
}
 
void sort(char *s1,char *s2, char *s3)
{ FILE *f1,*f2, *f3;
    int a1,a2,fl;
 
    f1=fopen(s1,"rb");
    f2=fopen(s2,"rb");
    f2=fopen(s2,"w");
 
    while(fread(&a1,4,1,f1))
    {
        fseek(f2,0,0);
 
            fl=0;
        while(fread(&a2,4,1,f2) && fl==0)
        {
            if(a1==a2)
            {
                fl=1;
 
                fprintf(f3,"%d ", a1);
            }
        }
    }
        fclose(f1);
        fclose(f2);
        fclose(f3);
}
 
 
Написала программу для 2 файлов, но и она не работает...
0
1 / 1 / 0
Регистрация: 05.10.2009
Сообщений: 101
14.12.2009, 22:26  [ТС]
запуталась уже...помогите, пожалуйста...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.12.2009, 22:26
Помогаю со студенческими работами здесь

Заголовочные файлы и файлы cpp
Со временем сложилось представление что при написании программ стоит разделять МЕТА данные и данные, но для лучшего понимания своих...

Раздельная компиляция: что помещать в заголовочные файлы, а что в файлы реализации (исходники)?
Здравствуйте, я учусь пользоваться Visual Studio.Пишу программу, в которой создаются и разрушаются объекты, определенного пользователем...

Определить строки этого файла, содержащие максимальную по длине подстроку, состоящую из одинаковых символов
вот задание для программы: 6. Задан текстовый файл input.txt. Требуется определить строки этого файла, содержащие максимальную по длине...

Файлы.Текстовые файлы
Считая t текстовым файлом (файлом типа text), ответить на следующие вопросы: А)Кроме текстовых файлов,файлы какиъ еще типов могут...

Файлы
Помогите с этой программой в С++ плз, дело в том что перед практикой преподаватель не успел до конца рассказать как использовать файлы с их...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru