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

Замок - обьясните задачу) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Двумерный массив http://www.cyberforum.ru/cpp-beginners/thread659444.html
Подскажите пожалуйста! Я уже так устал за сегодня что в голову ничего не лезет и от кода голова кружится) Я сколько на это не смотрю не могу никак понять что здесь не так? GLfloat x={ {0.0f,92.0f},{2.0f,90.0f}, {2.0f,92.0f},{4.0f,90.0f}, {4.0f,92.0f},{6.0f,90.0f}, {4.0f,94.0f},{6.0f,92.0f}, {2.0f,96.0f},{4.0f,94.0f}}; компилятор подчеркивает вторые скобки в третьем...
C++ Арифметичиские операции над двоичными числами Всем привет)) хочу показать то, что у меня вышло по данному вопросу. А вопрос был таким (сам себе его поставил): сделать арифметичиские операции над двоичними числами, записанными в строку. То есть, сделать, чтоб эти числа можно было +,-,* и /. Как по-моему, то получилось. Но я думаю, что мой алгоритм можно будет упростить (пока не знаю как). И кто захочет и сможет упростить - будет кльово)) ... http://www.cyberforum.ru/cpp-beginners/thread659434.html
C++ Error C4430: отсутствует спецификатор типа - предполагается int
#include <iostream> #include <conio.h> #include <time.h> #include <stdio.h> using namespace std; main() { const int m=5; const int n=6; float A;
C++ Нужно написать программу для вычисления значения выражения
Нужно написать программу для вычисления значения выражения \frac{\ln |\cos x|}{\ln (1+{x}^{2})} #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <math.h> int main() {float x,y;
C++ Вывод второй строки из файла c++ http://www.cyberforum.ru/cpp-beginners/thread659364.html
В общем, нужно сделать так, что бы из файла(txt) считывалась и выводилась не первая строка, а ,например, вторая. Не предcтавляю как это сделать, помогите :)
C++ Когда нажимаю добавить элемент, и уже его ввожу, то вылетает ошибка и закрываеться программа Есть такая программулька: //class_sets.h using namespace std; class Set { private: struct SetElement { enum {ATOM, SET} type; union { подробнее

Показать сообщение отдельно
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,040
28.09.2012, 20:16     Замок - обьясните задачу)
Цитата Сообщение от DebieCooper Посмотреть сообщение
Можете подробней рассказать про этот код, что оно как делает)
C++
1
2
3
4
5
6
7
void decode(int x)
{
mask[0]=(int)(x&1==1);
 mask[1]=(int)(x&2==2);
 mask[2]=(int)(x&4==4);
 mask[3]=(int)(x&8==8);
}
то же что и
Цитата Сообщение от DebieCooper Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void decode(int x)
{
 mask[0]=0;
 mask[1]=0;
 mask[2]=0;
 mask[3]=0;
if(x>=8) 
 {
 mask[3]=1;
 x=x-8;
 }
if(x>=4) 
 {
 mask[2]=1;
 x=x-4; 
 }
if(x>=2) 
 {
 mask[1]=1;
 x=x-2;
 }
 if(x>=1) mask[0]=1;
}
заполняет массив значениями в зависимости от флагов

например у тебя есть число 1 в двоичной форме 0001
проверяем первый флаг
mask[0]=(int)(x&1==1);
0001 & 0001 =0001
сравниваем
0001 и 0001 равны значит значение истина(1)
записываем в mask[0] 1
проверяем второй флаг
mask[1]=(int)(x&2==2);
0001 & 0010 =0000
сравниваем значения
0000 и 0010 неравны значит значение ложь(0)
записываем в mask[1] 0
ну итак далее по всем четырем флагам

Добавлено через 1 минуту
Цитата Сообщение от DebieCooper Посмотреть сообщение
warning C4554: &: проверьте порядок применения операторов на наличие ошибки; для четкого задания порядка используйте скобки
ну можно так
C++
1
2
3
4
5
6
7
void decode(int x)
{
mask[0]=(int)((x&1)==1);
 mask[1]=(int)((x&2)==2);
 mask[2]=(int)((x&4)==4);
 mask[3]=(int)((x&8)==8);
}
 
Текущее время: 04:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru