Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.02.2015, 17:22   #1
Александр Шатило
Пользователь
 
Регистрация: 18.01.2015
Сообщений: 29
Сообщение Работа с фалами на языке С

Компоненты файла А-целые числа, значения которых повторяются. Получить файл В, образованный из А числами, которые встречаются в А ровно 2 раза.
Тишка
Александр Шатило вне форума Ответить с цитированием
Старый 26.02.2015, 19:15   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Попытки и наработки увидеть можно?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.02.2015, 19:35   #3
Александр Шатило
Пользователь
 
Регистрация: 18.01.2015
Сообщений: 29
По умолчанию

Код:
#include <iostream>
#include <iostream>         
int main(void)
{
	setlocale(LC_CTYPE, "Russian");
	using namespace std;
	FILE *fa; 
	FILE *fb;
	int array[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 123, 24, 32 ,12};
	int t[18], i, j=0;
	fopen_s(&fa, "d:\\a.txt", "r");
	if (fa == NULL)
	{
		perror("Oшибка открытия файла a.txt");
		return EXIT_FAILURE;
	}
	while (!feof)
	{
		for (int i = 0; i <= 18; i++)
		{
			fread(&t[i], sizeof(int), 1, fa);
		}
	}
	fclose(fa);
	fopen_s(&fb, "d:\\b.txt", "w");
	if (fb == NULL)
	{
		perror("Oшибка открытия файла b.txt");
		return EXIT_FAILURE;
	}
	while (!feof)
	{
		for (int i = 0; i < 18; i++)
		{
			fwrite(array[i], sizeof(int), 1, fb);
		}
	}
	fclose(fb);
	return 0;
}
Тишка

Последний раз редактировалось Stilet; 26.02.2015 в 19:49.
Александр Шатило вне форума Ответить с цитированием
Старый 26.02.2015, 19:51   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Угу. Нормуль. Допустимо считать весь файл в динамический массив, дабы провести анализ повторяшек или никаких лишних массивов не разрешено?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.02.2015, 20:03   #5
Александр Шатило
Пользователь
 
Регистрация: 18.01.2015
Сообщений: 29
По умолчанию

желательно без динам массива
Тишка
Александр Шатило вне форума Ответить с цитированием
Старый 26.02.2015, 21:21   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Без... Пичалити...
Код:
#include <iostream>
#include <iostream>   

bool mseek(int i,FILE* f){
 int p=ftell(f);
 fseek(f,0,SEEK_SET);
 int n=0,c;
 while(!feof(f)) { fread(&c,sizeof(c),1,f); if(c==i) n++; if(n>2) break;}
 fseek(f,p,SEEK_SET);
 return n==2;
}
      
int main(void)
{
	setlocale(LC_CTYPE, "Russian");
	using namespace std;
	FILE *fa; 
	FILE *fb;
	int array[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 123, 24, 32 ,12};
	int t[18], i, j=0;
	fopen_s(&fa, "d:\\a.txt", "r");
	fopen_s(&fb, "d:\\b.txt", "w");
	if (fa == NULL)
	{
		perror("Oшибка открытия файла a.txt");
		return EXIT_FAILURE;
	}
	while (!feof)
	{
		for (int i = 0; i <= 18; i++)
		{
			fread(&t[i], sizeof(int), 1, fa);
                        if(mseek(t[i],fa)) fwrite(array[i], sizeof(int), 1, fb);

		}
	}
	fclose(fa);
	fclose(fb);
	return 0;
}
Это в качестве идеи, ибо тут не помешало бы еще и проверять на уникальность уже записанного числа.
И кстати твое считывание хоть и может работать, но не является кошерным. Имей это в виду.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с фалами GBX KLOP Общие вопросы Delphi 2 03.04.2011 10:45
работа с фалами proag Общие вопросы C/C++ 6 03.02.2011 17:59
работа с фалами ini apocalypce Помощь студентам 8 14.08.2009 21:04
работа с ini фалами Llirik1984 Win Api 2 28.03.2009 16:15
работа с фалами на pascal world12_tk Помощь студентам 7 16.03.2009 21:13