Вопрос № 56282: Уважаемые эксперты, помогите пожалуйста написать 2 элементарные программы на СИ.
1) Введенные значения переменных a, b, c поменять местами так, чтобы оказалось a>=b>=c.
2) Дано число х. Напечатать в порядке возрастания числа cos(x), 1+|...Вопрос № 56283: Уважаемые эксперты, помогите пожалуйста написать 2 несложные программы на СИ.
1) Введенные значения переменных a, b, c поменять местами так, чтобы оказалось a>=b>=c.
2) Дано число х. Напечатать в порядке возрастания числа cos(x), 1+|x|,...Вопрос № 56288: Здравствуйте уважаемые!
Имеется такая весчь
printf("%c%c%c%c%c%c%c%c%c%c",8,8,8,8,8,8,8,8,8,8);
Нужно сделать запись более компактной - убрать повторения,
чтобы получить тот же результат.
И есчо - Как удалить из реестр...Вопрос № 56295: Доброго времени суток, уважаемые эксперты.
Мой вопрос в следующем:
Работаю в C Builder'e 6
Функция AnsiString::WideChar(whar_t *,int)
постояно выдаёт ошибку доступа к паямти...
Как бы я её ни крутил... может для неё нужно знать ч...Вопрос № 56351: Уважаемые эксперты, подскажите, каким образом в MSDOS лучше
прочитать Метку диска (Volume Lebel Disk) для FAT16 и FAT32?
Может есть какие-либо библиотечные ф-ции? Или ф-ции BIOS-а?
Заранее Спасибо....Вопрос № 56376: Уважаемые эксперты! Я столкнулся со следующей задаче:
"Дан одномерный массив с большим количеством нулевых элементов. Заменить в нем каждую группу
из подряд идущих нулей на 2 элемента: первый из них 0, а второй - количество нулей в...
Вопрос № 56.282
Уважаемые эксперты, помогите пожалуйста написать 2 элементарные программы на СИ.
1) Введенные значения переменных a, b, c поменять местами так, чтобы оказалось a>=b>=c.
2) Дано число х. Напечатать в порядке возрастания числа cos(x), 1+|x|, (1+xx)(1+xx).
Отвечает: Sergey A. Wedensky
Здравствуйте, Куренной С.А.!
1)
#define _swap(x,y){int _tmp = x;x=y;y=_tmp}
double a,b,c;
printf("Введите a,b,c: ");
scanf("%lf,%lf,%lf",&a,&b,&c);
if (a<c) _swap(a,c);
if (a<b) _swap(a,b);
if (b<c) _swap(b,c);
2)
То же самое,
c = cos(x);
b = 1+fabs(x);
a = (1+x*x)*(1+x*x);
Ответ отправил: Sergey A. Wedensky (статус: 2-ой класс)
Ответ отправлен: 22.09.2006, 11:00
Вопрос № 56.283
Уважаемые эксперты, помогите пожалуйста написать 2 несложные программы на СИ.
1) Введенные значения переменных a, b, c поменять местами так, чтобы оказалось a>=b>=c.
2) Дано число х. Напечатать в порядке возрастания числа cos(x), 1+|x|, (1+xx)(1+xx).
Так как ограничений на вид кода не было, то приведу такие вот рабочие программки (в приложении), скорее всего можно было сделать лучше, но как смог. Может Вам подойдет :).
Приложение:
--------- be Linux
Ответ отправил: GeD (статус: 1-ый класс)
Ответ отправлен: 21.09.2006, 23:50
Вопрос № 56.288
Здравствуйте уважаемые!
Имеется такая весчь
printf("%c%c%c%c%c%c%c%c%c%c",8,8,8,8,8,8,8,8,8,8);
Нужно сделать запись более компактной - убрать повторения,
чтобы получить тот же результат.
И есчо - Как удалить из реестра ключ из командного файла?
Спасибо за ответы!
Отправлен: 21.09.2006, 22:59
Вопрос задал: kool (статус: 2-ой класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 7)
Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, kool!
А еще имеется такая вещь, как грамотное изложение своих мыслей ;-)
1.
for(int i=8; i<0xA08; printf("%c", i+=0x100));
если не заработает, попробуйте так:
for(int i=0x800; i<0x80A; printf("%c", i++));
2.
reg delete
Вначале help по нему посмотрите:
cmd -> reg delete /?
--------- Не узнаешь - не попробуешь.
Ответ отправил: Сухомлин Кирилл Владимирович (статус: Практикант)
Ответ отправлен: 22.09.2006, 01:40 Оценка за ответ: 2 Комментарий оценки: Слушай умник ты сам-то набирал это (reg delete /?) в командной строке? Сначала набери и посмотри что получится, а потом советы давать будешь. А по поводу первого ответа - так он тоже на 1-цу тянет - конструкция нисколько не меньше моей, а кроме того и выполняться будет дольше. До такого примитива любой додумается. И вобще там какая-то чушь написана, она делает
совсем не то что выдает моя команда. Если чего сам не знаешь лучше совсем не пиши. Вот тебе за каждый ответ по еденице.
Отвечает: Delph
Здравствуйте, kool!
Не уверен, что правильно Вас понял, но попробуйте, например, так:
for (int i = 0; i<10; i++)
printf("%c",8);
Можно, если есть желание, записать всё это в одну строку - результат не изменится. Относительно второй части вопроса помочь не могу... пока ещё.
Желаю удачи!
Ответ отправил: Delph (статус: 1-ый класс)
Ответ отправлен: 22.09.2006, 10:13 Оценка за ответ: 5 Комментарий оценки: Спасибо за старание. Понял все правильно. Но это слишком медленно и громозко. Нужно конструкцию типа printf("(сколько раз повторить)%c",8).
Вопрос № 56.295
Доброго времени суток, уважаемые эксперты.
Мой вопрос в следующем:
Работаю в C Builder'e 6
Функция AnsiString::WideChar(whar_t *,int)
постояно выдаёт ошибку доступа к паямти...
Как бы я её ни крутил... может для неё нужно знать что нибудь этакое...
К слову, нужна мне эта переменная для cppwebbrowser'a...
Заранее спасибо
Приложение:
Отправлен: 21.09.2006, 23:23
Вопрос задал: Uman (статус: 2-ой класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Sergey A. Wedensky
Здравствуйте, Uman!
Не очень знаком с Builder'ом и его классами, но мне кажется, Вам следует самому выделить память под url:
wchar_t* url = new wchar_t[Url.WideCharBufSize()];
Url.WideChar(url,Url.WideCharBufSize());
Viewer->Navigate(url);
delete url;
Ответ отправил: Sergey A. Wedensky (статус: 2-ой класс)
Ответ отправлен: 22.09.2006, 11:04
Вопрос № 56.351
Уважаемые эксперты, подскажите, каким образом в MSDOS лучше
прочитать Метку диска (Volume Lebel Disk) для FAT16 и FAT32?
Может есть какие-либо библиотечные ф-ции? Или ф-ции BIOS-а?
Отвечает: ADSota
Здравствуйте, Базылев Евгений Николаевич!
Стандартная функция DOS (IOCTL):
Вход:
AX=440dH
BX=диск (0=по умолчанию, 1=A, 2=B,...)
CL=66H
CH=08H (категория устройства - блочное)
DS:DX адрес буфера, куда занесется структура IoctlMediaIdRec
int 21h
Возврат:
если CF=CY, то произошла ошибка, иначе в буфере данные:
Смещение Размер(байт) Данные
+0 2 wInfoLevel =0
+2 4 lSerNo 32-байтный серийный номер диска
+6 0bH abVolLabel 11-байтная метка диска, имя дополняется пробелами
+11H 8 abFileSysID содержит 'FAT12 ' или 'FAT16 '
19H (25) размер структуры
--------- Открыть глаза навстречу солнцу
Ответ отправил: ADSota (статус: Специалист)
Ответ отправлен: 22.09.2006, 13:57
Вопрос № 56.376
Уважаемые эксперты! Я столкнулся со следующей задаче:
"Дан одномерный массив с большим количеством нулевых элементов. Заменить в нем каждую группу
из подряд идущих нулей на 2 элемента: первый из них 0, а второй - количество нулей в данной группе."
Немогли бы Вы на примере показать и объяснить как это можно сделать.
Отправлен: 22.09.2006, 19:22
Вопрос задал: Призрак (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 3)
Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, Призрак!
a[] - содержит входные данные, в b[] будем записывать.
Основной код в приложении. Осталось это оформить это все в цикл и кое-какие инициализации.
Отвечает: Sergey A. Wedensky
Здравствуйте, Призрак!
Не вижу проблемы...
Впрочем как и смысла таких действий - ведь если просто заменить последовательности нулей двумя числами, Вы потом никак не сможете восстаносить исходные данные - как понять, интерпретировать два числа как два числа или преобразовывать в нули?
Ответ отправил: Sergey A. Wedensky (статус: 2-ой класс)
Ответ отправлен: 25.09.2006, 10:43