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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2013, 16:44   #1
screammassacre
Пользователь
 
Регистрация: 14.11.2013
Сообщений: 12
Восклицание Бинарные файлы данных(задача)

Всем дообра)
Задание:
ввод с клавы любых 20 чисел в первый файл, и потом во второй файл с первого по пять положительных и отрицательных.
Если можно, то на основе моего кода.
Код:
#include <iostream>
#include <ctime>
#include <conio.h>
#include <cstdlib>
#include <stdio.h>
#include <fstream>
using namespace std;
int main()
{
	FILE *f;
	FILE *f1;
	int c=0;//счётчик положительных чисел
	int d=0;//счётчик отрицательных чисел
	int size=20;
	int a[20];
	f=fopen("D:\\test.dat", "wb");//открываем бинарный файл для ввода
	for(int i = 0; i<size; ++i)
	{
			printf("%s%d%s\n","Enter element [",i,"]:");
			scanf("%d",&a[i]);//вводим  числа нашего будущего файла
			fwrite(&a, sizeof(int),1,f);//записываем в наш файл
	}
	cout << endl;
	f1=fopen("D:\\test1.dat", "wb");//открываем  второй бнар.файл
	while (fread(&a,sizeof(int), 1, f))//считуем числа с первого бинара
		{
	for(int i=0;i<size;i++)//пробежались по элементам
	{
		if(a[i]>0 && c<5)//если число больше нуля - с++, пока количество таких чисел не будет равно 5
		{
			c++;
			fwrite(&a, sizeof(int), 1, f1);//записываем во второй файл
		}
		if(a[i]<0 && d<5)//если число меньше нуля + d++, пока количество таких чисел не будет равно 5
		{
			d++;
			fwrite(&a, sizeof(int), 1, f1);//записывем во втрой  файл
		}
	fclose(f);
	fclose(f1);
	getch();
	return 0;
	}
	}
}

Последний раз редактировалось screammassacre; 15.12.2013 в 16:53.
screammassacre вне форума Ответить с цитированием
Старый 15.12.2013, 17:33   #2
Smogg
Участник клуба
 
Регистрация: 14.06.2011
Сообщений: 1,152
По умолчанию

Цитата:
Сообщение от screammassacre Посмотреть сообщение
Код:
#include <iostream>
#include <ctime>
#include <conio.h>
#include <cstdlib>
#include <stdio.h>
#include <fstream>
using namespace std;
int main()
{
	FILE *f;
	FILE *f1;
	int c=0;//счётчик положительных чисел
	int d=0;//счётчик отрицательных чисел
	int size=20;
	int a[20];
	f=fopen("D:\\test.dat", "wb");//открываем бинарный файл для ввода
	for(int i = 0; i<size; ++i)
	{
			printf("%s%d%s\n","Enter element [",i,"]:");
			scanf("%d",&a[i]);//вводим  числа нашего будущего файла
			fwrite(&a, sizeof(int),1,f);//пишешь один и тот-же начальный элемент массива
	}
	cout << endl;
	f1=fopen("D:\\test1.dat", "wb");//открываем  второй бнар.файл
	while (fread(&a,sizeof(int), 1, f))//читаешь из неправильного файла , да и сама идея while плохо продумана 
		{
	for(int i=0;i<size;i++)//пробежались по элементам
	{
		if(a[i]>0 && c<5)//ноль, как мне помнится, относится к положительным
		{
			c++;
			fwrite(&a, sizeof(int), 1, f1);//записываем во второй файл
		}
		if(a[i]<0 && d<5)//если число меньше нуля + d++, пока количество таких чисел не будет равно 5
		{
			d++;
			fwrite(&a, sizeof(int), 1, f1);//записывем во втрой  файл
		}
	fclose(f);
	fclose(f1);
	getch();
	return 0;
	}
	}
}
_____________________/

Последний раз редактировалось Smogg; 15.12.2013 в 17:37.
Smogg вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Бинарные файлы в Си Vasya94 Помощь студентам 5 25.04.2013 09:44
Бинарные файлы (C/Си) dmitryi98 Помощь студентам 6 15.08.2012 08:01
Бинарные файлы с++ Killspamers Помощь студентам 0 01.03.2012 14:04
Бинарные файлы и C# WOWka777 Общие вопросы .NET 4 03.09.2010 18:08
С++ Бинарные файлы EwwwA Общие вопросы C/C++ 0 20.04.2009 17:32