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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программирование неуправляемого кода для 64 разрядных систем Windows http://www.cyberforum.ru/cpp-beginners/thread688113.html
Долго мучился. Код начал работать, когда я применил типы Uint32 и UintPtr. Причем UintPtr пришлось применять для всех указателей, где раньше я применял Int32. Может быть есть у кого еще опыт?
C++ Ввод только букв и цифр возможно ли в данном случае разрешить ввод цифр тоже? и правильно ли я понимаю, что isdigit() здесь не уместен? do{ cout<<"Enter word:"<<endl; cin>>word; }while(!isAlphaString(word)); cout<<"you entered: "<<endl; cout<<word<<endl; сама функция, для проверки слова bool isAlphaString (std::string &str) http://www.cyberforum.ru/cpp-beginners/thread688033.html
C++ Отрицательные элементы массива заменить на –1, положительные – на 1 , а нулевые оставить без изменения
Ввести массив с клавиатуры. Выбрать строку где а-итое > 0, нужно все элементы , расположенные в отмеченных строках матрицы , преобразовать по правилу: отрицательные элементы заменить на –1, положительные – на 1 , а нулевые оставить без изменения. программу нужно сделать на С++. P.S. Большое спасибо)
Нарисовать, эллипс движущийся по координатам, с помощью таймера C++
при помощи таймера пытаюсь нарисовать эллипс движущийся по координатам fx=0; fy=-mas*g; vx=vx+fx*time/mas; vy=vy+fy*time/mas; x=x+time*vx; y=y+time*vy; gr->DrawEllipse(blackPen,20+x,cy-y,r*2,r*2); time ++;
C++ с++ игры на движение http://www.cyberforum.ru/cpp-beginners/thread687740.html
у кого есть простенький код с++ для игры про монстров? главного монстра должно звать Вася и стадо монстров бегающих с ним рядом, что-то типо того. поделитесь у кого есть что то подобное.
C++ Вывести сумму четырех чисел с 4 знаками после запятой Задача 1. Сума В стандартном входном потоке дано 4 действительные числа. В стандартный выходной поток вывести их суму из 4 знаками после запятой. ПРИМЕР: Входные данные: 3 4 2.5 1 Результаты работы: 10.5000 подробнее

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

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

04.11.2012, 14:20. Просмотров 583. Ответов 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);
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru