Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Организовать новый список из различных элементов заданного, включив в информационную часть узла количество его вхождения в первоначальный список http://www.cyberforum.ru/cpp-beginners/thread688233.html
Организовать новый список из различных элементов заданного, включив в информационную часть узла количество его вхождения в первоначальный список.
C++ Разработать класс для понятия "Генератор шума" Разработать класс для понятия "Генератор шума" для генерации дискретных значений белого шума вида y(t)=yc+A*E(t)),ult E(ti) - случайная величина с равномерным определением на интервале... http://www.cyberforum.ru/cpp-beginners/thread688222.html
Примитивное меню C++
Как добавить сюда еще один уровень? Например чтобы я нажимал Enter на namber 1 и что-то на экран выводится или чтобы какое-то действие выполнялась! #include <iostream> #include <Windows.h>...
Упорядочить заданный список целых методом шейкера C++
1. Упорядочить заданный список целых методом шейкера. *2. Дан массив записей, каждый из которых содержит информацию: ФИО работника, год * рождения, должность, стаж работы. Используя благоустройства...
C++ Массивы. Положительные элементы заменит на 1, а отрицательные заменить на -1 http://www.cyberforum.ru/cpp-beginners/thread688206.html
Ввести массив с клавиатуры. Выбрать строку где а-итое > 0, нужно все элементы , расположенные в отмеченных строках матрицы , преобразовать по правилу: отрицательные элементы заменить на –1,...
C++ Выводит таблицу квадратов нечетных чисел #include <stdio.h> tinclude <conio.h> void main() int х = 1; // число int у; // квадрат числа int i; // счетчик циклов printf("Таблица квадратов\n"); printf ("----------------\n") ; ... подробнее

Показать сообщение отдельно
Childhood
0 / 0 / 0
Регистрация: 31.05.2012
Сообщений: 4

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

04.11.2012, 14:20. Просмотров 670. Ответов 0
Метки (Все метки)

Рассматривая исходный файл как последовательность битов, записать в новый файл только четные биты (должна получиться последовательность из нулей и единиц).
Вот здесь код записи в файл, и перевода в двоичную систему, вот только не знаю, как выписать четные биты:
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);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.