нужны задания практические по С
-
bool
Re: нужны задания практические по С
bezumes
когда подключаю , компилятор ругается на его отсутствие вообще у себя.
когда подключаю , компилятор ругается на его отсутствие вообще у себя.
-
EvgeniyQQQ
Re: нужны задания практические по С
bool
Цитата:
MSDN
Function Information
Minimum DLL Version user32.dll
Header Declared in Winuser.h, include Windows.h
Import library User32.lib
Цитата:
компилятор ругается на его отсутствие вообще у себя
странно, в Builder точно, должно работать.
Цитата:
MSDN
Function Information
Minimum DLL Version user32.dll
Header Declared in Winuser.h, include Windows.h
Import library User32.lib
Цитата:
компилятор ругается на его отсутствие вообще у себя
странно, в Builder точно, должно работать.
-
EvgeniyQQQ
Re: нужны задания практические по С
Преобразовать ASCII в Unicode можно с помощью "сишной" функции mbstowcs().
Код:
Код:
Код: Выделить всё
#include
#include
#include "stdlib.h"
void main()
{
char str[] = "example";
wchar_t str_t[sizeof("example")];
//Функция преобразующая ASCII в Unicode
mbstowcs(str_t,str,sizeof("example"));
wprintf(_T("%s\n"),str_t);
}-
bool
Re: нужны задания практические по С
1) в MS Visual C++ Express, если успешно прошла компиляция , то при дальнейшем изменении проекта и повторной компиляции он продолжает компилиться по старому, не изменённому, варианту. Пробывал сохранять после изменения, а потом уже компилировать, не помогает =/ Что я делаю не правильно?
2) модераторам: возможно ли название этой темы сменить на "C,C++ | азы" ?
2) модераторам: возможно ли название этой темы сменить на "C,C++ | азы" ?
-
pva
Re: нужны задания практические по С
я использую такую фигнюшку, если не принципиально что только под виндой рабоатет
Код:
Код:
Код: Выделить всё
std::wstring wstr(const char* s, unsigned size);
std::wstring wstr(const char* s) {return wstr(s, std::strlen(s));}
...
std::wstring wstr(const char* s, unsigned size)
{
std::wstring w(size, wchar_t());
MultiByteToWideChar(CP_ACP, 0, s, w.size(), &w[0], w.size());
return w;
}-
bool
Re: нужны задания практические по С
программка для побайтного вывода значения типа double в двоичном представлении:
Код:
меня интересует вот эта часть:
Код:
ведь мы определяем d, а не с[] , почему сравнивают побайтно i и c? потому что они в объединении и следовательно в одной области памяти? объясните пожалуйста поподробнее
Код:
Код: Выделить всё
#include "stdafx.h"
#include <iostream>
using namespace std;
union bits {
bits(double n);
void show_bits();
double d;
unsigned char c[sizeof (double)];
};
bits::bits(double n)
{
d = n;
}
void bits::show_bits()
{
int i, j;
for( j = sizeof(double) -1; j >=0; j--) {
cout << "Double declaration of the bit" << j << ":";
for( i = 128; i; i >>=1)
if(i & c[j]) cout << "1";
else cout << "0";
cout << "\n";
}
}
int main()
{
bits ob(1991.829);
ob.show_bits();
return 0;
}меня интересует вот эта часть:
Код:
Код: Выделить всё
if(i & c[j]) cout << "1";
else cout << "0";ведь мы определяем d, а не с[] , почему сравнивают побайтно i и c? потому что они в объединении и следовательно в одной области памяти? объясните пожалуйста поподробнее
-
bool
Re: нужны задания практические по С
ещё такой полуоффтопный вопрос : что значит
Цитата:
Присылайте ваши резюме на блабла@блаблабла.ru с кодом C++/010
. Что есть C++/010???
Цитата:
Присылайте ваши резюме на блабла@блаблабла.ru с кодом C++/010
. Что есть C++/010???
-
pva
Re: нужны задания практические по С
по поводу вопроса:
union - это "объединение", все поля будут занимать одну и ту же память. Это сделано в древнем языке "си" для того, чтобы можно было легко переделать из одного вида в другой. Компилятор автоматически выбирает под такие объединения столько памяти, сколько необходимо, чтобы хранить все члены объединения. Например:
Код:
У вас биты отображаются в обратном порядке:
union - это "объединение", все поля будут занимать одну и ту же память. Это сделано в древнем языке "си" для того, чтобы можно было легко переделать из одного вида в другой. Компилятор автоматически выбирает под такие объединения столько памяти, сколько необходимо, чтобы хранить все члены объединения. Например:
Код:
Код: Выделить всё
union {
int i;
char c[3];
} union1;
union1.i = 0x12345678;
// хранится как:
// хранится как:
// адрес значение
// 440000 0x78 // i=0x12345678 //c[0]=0x78
// 440001 0x56 //c[1]=0x56
// 440002 0x34 //c[2]=0x34
// 440003 0x12У вас биты отображаются в обратном порядке:
Код: Выделить всё
void bits::show_bits()
{
int i, j;
// мы перебираем память задом-наперёд?
for( j = sizeof(double) -1; j >=0; j--) {
cout-
bool
Re: нужны задания практические по С
pva
спасибо
т.е. в первой итерации 128 побитно сравнивают с c[j]? объясните пожалуйста как получился первый байт? я попробЫвал вывести значение
c[j], и так какая то хрень получилась, вроде @0000000, оно и понятно, ведь тип то char. Понял я то, что мы идем по разрядам байта с конца, т.е сначала 128, потом 64 , 32 и т.д. А вот как получается результат? Вот кстати и он:
Код:
спасибо
т.е. в первой итерации 128 побитно сравнивают с c[j]? объясните пожалуйста как получился первый байт? я попробЫвал вывести значение
c[j], и так какая то хрень получилась, вроде @0000000, оно и понятно, ведь тип то char. Понял я то, что мы идем по разрядам байта с конца, т.е сначала 128, потом 64 , 32 и т.д. А вот как получается результат? Вот кстати и он:
Код:
Код: Выделить всё
байт 7: 01000000
байт 6: 10011111
байт 5: 00011111
байт 4: 01010000
байт 3: 11100101
байт 2: 01100000
байт 1: 01000001
байт 0: 10001001-
Admiral
Re: нужны задания практические по С
Энтузиазм закончился? Если нет, то вот одна задачка, вернее вопрос, для тех кто и с С++ уже немного знаком, из одного популярного журнала:
"Определить какой из кодов, к какому из синтаксисов (С или С++) относится и объяснить почему, по каким параметрам был найден ответ".
Код:
Код:
Код:
Код:
Только не надо разыскивать ни журнал, ни его номер в поисках ответа, попробуйте ответить своими силами, знаниями и пониманиями.
"Определить какой из кодов, к какому из синтаксисов (С или С++) относится и объяснить почему, по каким параметрам был найден ответ".
Код:
Код: Выделить всё
forum (o, s)
int o, s;
{
int z;
for (z = 1; n>0; --n)
z = z*t;
return z;
}Код:
Код: Выделить всё
//Some text to view on output device
printf("%d %d\n", e*=2, f+=3);Код:
Код: Выделить всё
for (int z = 0; z< MAXIMUM -1 && o! = '\n'; ++p; summa+=z)Код:
Код: Выделить всё
int forums: 4Только не надо разыскивать ни журнал, ни его номер в поисках ответа, попробуйте ответить своими силами, знаниями и пониманиями.