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

Выписать четные биты - C++

Войти
Регистрация
Восстановить пароль
 
Childhood
0 / 0 / 0
Регистрация: 31.05.2012
Сообщений: 4
04.11.2012, 14:20     Выписать четные биты #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
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#include "stdafx.h"
#include "file.h"
 
using namespace std;
 
FILE *f1,*f2;
Chetnie::Chetnie()//инициализация переменных
{
    txt=".txt";
    dat=".dat";
    nameIn=0;
    nameOut=0;
}
void Chetnie::setFname(char* fname)//ввод имени для 2ух файлов тхт и дат
{
    delete [] nameIn;
    delete [] nameOut;
    nameIn=new char[strlen(fname)+4];
    nameOut=new char[strlen(fname)+5];
    strcpy(nameIn,fname);
    strcpy(nameOut,fname);
    strcat(nameIn,txt);
    strcat(nameOut,dat);
}
void Chetnie::openText()//попытка открытия файла 1
{
    f1=fopen(nameIn,"r");
    if (f1==NULL) 
    {
        cout<<"Невозможно открыть файл\n"; 
        system("pause>>void");
        exit(0);
    }
    else
    {
        cout << "Открываем файл.......";
    }
}
void Chetnie::newText() //открытие файла 2
{
    f2=fopen(nameOut,"w");
}
void Chetnie::Changes() //запись во второй файл данных
{
    int c,q=0,i=0,mas[100],j=0,qa=0,mas1[100],mas2[100],mas3[100],w=0;
    char str[100],str1[100],str2[100];
    while((c=fgetc(f1)) != EOF) 
    {
        str[q]=c;
        str1[q]=c;
        str2[q]=c;
        q++;
    //  fputc(c, f2);
    }
    if(q==0)
    {
        cout<<"\nФайл пуст!";
       // system("pause>>void");
        //exit(0);
    }
    else
    {
        fprintf(f2,"================Изначальная строка================\n\n");
        for(i=0;i<q;i++)
        {
            fputc(str[i], f2);
        }
 
        fprintf(f2,"\n\n================В двоичной========================\n\n");
        for(int i=0;i<q;i++)
        {
            while(str[i]!=0)
            {
                if(str[i]%2==1)
                {
                    mas[j]=1;
                }
                else
                {
                    mas[j]=0;
                }
            j++;
            qa++;
            str[i]/=2;  
            }
            for(j=qa-1;j>=0;j--)
            {
                fprintf(f2,"%d ",mas[j]);
            }
            fprintf(f2,"\n\n");
            qa=0;
            j=0;
        }
}
void Chetnie::closeFiles()//закрытие файлов 1 и 2
{
    fclose(f1);
    fclose(f2);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2012, 14:20     Выписать четные биты
Посмотрите здесь:

биты C++
Выписать все четные элементы массива и переписать их в другой массив C++
Задача на биты. C++
... В четных байтах числа в двоичной системе переместить нулевые биты в старшие биты, а в нечетных байтах – в младшие ... C++
C++ Сделать четные биты равными нечетным и наоборот
C++ Инвентировать биты в байте
Выравнивающие биты в BMP C++
C++ Задача про биты
Выписать отрицательные элементы из матрицы C++
C++ Переставить в строке все элементы матрицы из нечетных позиций на четные, а четные на нечетные, по условию
C++ Ввести целое число A. Инвертировать все биты с 4 по 8, включая эти биты. Вывести результат
Переставить в строке все элементы из нечетных позиций на четные, а четные на нечетные C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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