|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » нужны задания практические по С |
|
нужны задания практические по С
|
Старожил Сообщения: 229 |
Профиль | Отправить PM | Цитировать
вспоминаю и изучаю дальше - С, самостоятельно. Дайте какие нибудь задания пожалуйста, а лучше несколько по возрастающей (по сложности) . Или посоветуйте где можно эти задания найти 8) Уровень начинающего.
|
|
Отправлено: 18:05, 17-11-2006 |
Пользователь Сообщения: 68
|
Профиль | Отправить PM | Цитировать Цитата:
#include <locale> std::wcout.imbue(std::locale(".866")); wchar_t str[] = L"Привет!!!"; wcout << str << endl; |
|
------- Последний раз редактировалось bezumes, 07-05-2007 в 14:42. Отправлено: 22:06, 06-05-2007 | #51 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 133
|
Профиль | Сайт | Отправить PM | Цитировать bool
Цитата:
Цитата:
|
||
------- Отправлено: 00:14, 07-05-2007 | #52 |
Пользователь Сообщения: 133
|
Профиль | Сайт | Отправить PM | Цитировать Преобразовать ASCII в Unicode можно с помощью "сишной" функции mbstowcs().
|
------- Отправлено: 19:41, 07-05-2007 | #53 |
Старожил Сообщения: 229
|
Профиль | Отправить PM | Цитировать 1) в MS Visual C++ Express, если успешно прошла компиляция , то при дальнейшем изменении проекта и повторной компиляции он продолжает компилиться по старому, не изменённому, варианту. Пробывал сохранять после изменения, а потом уже компилировать, не помогает =/ Что я делаю не правильно?
2) модераторам: возможно ли название этой темы сменить на "C,C++ | азы" ? |
Отправлено: 23:48, 31-05-2007 | #54 |
Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать я использую такую фигнюшку, если не принципиально что только под виндой рабоатет
|
Отправлено: 12:37, 04-06-2007 | #55 |
Старожил Сообщения: 229
|
Профиль | Отправить PM | Цитировать программка для побайтного вывода значения типа double в двоичном представлении:
#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; } ведь мы определяем d, а не с[] , почему сравнивают побайтно i и c? потому что они в объединении и следовательно в одной области памяти? объясните пожалуйста поподробнее |
Отправлено: 00:46, 27-06-2007 | #56 |
Старожил Сообщения: 229
|
Профиль | Отправить PM | Цитировать ещё такой полуоффтопный вопрос : что значит
Цитата:
|
|
Отправлено: 19:46, 28-06-2007 | #57 |
Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать по поводу вопроса:
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 [code] 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"; } } [code] |
Отправлено: 11:33, 29-06-2007 | #58 |
Старожил Сообщения: 229
|
Профиль | Отправить PM | Цитировать pva
спасибо т.е. в первой итерации 128 побитно сравнивают с c[j]? объясните пожалуйста как получился первый байт? я попробЫвал вывести значение c[j], и так какая то хрень получилась, вроде @0000000, оно и понятно, ведь тип то char. Понял я то, что мы идем по разрядам байта с конца, т.е сначала 128, потом 64 , 32 и т.д. А вот как получается результат? Вот кстати и он: |
Отправлено: 17:38, 29-06-2007 | #59 |
Ветеран Сообщения: 3320
|
Профиль | Отправить PM | Цитировать Энтузиазм закончился? Если нет, то вот одна задачка, вернее вопрос, для тех кто и с С++ уже немного знаком, из одного популярного журнала:
"Определить какой из кодов, к какому из синтаксисов (С или С++) относится и объяснить почему, по каким параметрам был найден ответ". Только не надо разыскивать ни журнал, ни его номер в поисках ответа, попробуйте ответить своими силами, знаниями и пониманиями. |
Последний раз редактировалось Admiral, 03-05-2008 в 20:39. Причина: Ошибся малёк Отправлено: 20:11, 03-05-2008 | #60 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Ошибка - Двойные задания печати. | rezzyurfak | Microsoft Windows 2000/XP | 0 | 28-09-2009 14:53 | |
Fujifilm FinePix F100fd Практические советы и рекомендации! | UADE | Цифровое изображение | 9 | 07-09-2009 10:39 | |
Новые задания | Veter23 | Лечение систем от вредоносных программ | 8 | 17-07-2009 21:30 | |
Прочее - Беспроводной интернет. Практические вопросы. | Murder7 | Сетевое оборудование | 4 | 07-11-2008 08:36 | |
Назаначенные задания - Безопасность | Chuk | Microsoft Windows 2000/XP | 3 | 19-10-2005 14:13 |
|