Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 598
от 30.11.2006, 23:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 427, Экспертов: 46
В номере:Вопросов: 5, Ответов: 8


Вопрос № 64149: Здравствуйте, уважаемые эксперты. Подскажите, пожалуйта, какая константа в Borland C++ Builder 6 используеться для перехода на следующую строку?...
Вопрос № 64152: Здравствуйте эксперты! Никак не могу разобраться со связными списками с С. Помогите написать вот такую програмку: Дан список с эл-ми целого типа. Сформировать новый список, в котором сначала расположены все эл-ты нечетные в порядке возрастани...
Вопрос № 64167: У вас ненайдется еbook по изучению Visual C++ (Лучше было бы Visual C++ 2005). Спасибо....
Вопрос № 64169: Уважаемые Экспреты!!! Вот функция преобоазования цвета из 24 в 16 (565): Т.е. подставляем 0xцвет (0xffa0b7)и получаем преобразованный. WORD с565(DWORD src) { return (WORD) (( src & 0xf8 )>> 3 | ( src & 0xfc00 ) >> 5 | ...
Вопрос № 64197: Уважаемые эксперты!!! Есть два массива: byte *a,*b; Длины одинаковы: a=new byte[h*w]; b=new byte[h*w]; Требуется поместить в массив a значения массива b, НО ЧИТАЯ ПОСТРОЧНО (ширина w) СНИЗУ ВВЕРХ. Приме...

Вопрос № 64.149
Здравствуйте, уважаемые эксперты. Подскажите, пожалуйта, какая константа в Borland C++ Builder 6 используеться для перехода на следующую строку?
Отправлен: 25.11.2006, 14:19
Вопрос задал: neWMan (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 5)

Отвечает: Ross
Здравствуйте, neWMan!

Для перехода на следующую строку при выводе используется спец. символ .
Например: printf("First line Next line");
Ответ отправил: Ross (статус: 2-ой класс)
Ответ отправлен: 26.11.2006, 23:37


Вопрос № 64.152
Здравствуйте эксперты! Никак не могу разобраться со связными списками с С.
Помогите написать вот такую програмку:
Дан список с эл-ми целого типа. Сформировать новый список, в котором сначала расположены все эл-ты нечетные в порядке возрастания, а потом четные в порядке убывания. Оба списка вывести на экран.
Заранее благодарен
Отправлен: 25.11.2006, 14:29
Вопрос задал: Gang (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: PROD
Здравствуйте, Gang!
во первых дан список, или массив?
если массив то

int mas[10];
int jk,t;
for(int i=0;i<10;i++){
mas[i]=10-i;
Label2->Caption=Label2->Caption+IntToStr(mas[i])+" ";

}
// скидываем все четные в конец
for(int i=0;i<10;i++){
if(mas[i]%2==0){
jk=0;
while((mas[i+jk]%2==0)&&(i+jk<9)){
jk++;
}

t=mas[i];
mas[i]=mas[i+jk];
mas[i+jk]=t;
}
}
//сортируем

int a=0,c;
while(mas[a]%2!=0){
a++;
}
for(int i=0;i<a;i++){
for(int j=0;j<a;j++){
if(mas[i]<mas[j]){
c=mas[i];
mas[i]=mas[j];
mas[j]=c;
}
}
}
for(int i=a;i<10;i++){
for(int j=a;j<10;j++){
if(mas[i]>mas[j]){
c=mas[i];
mas[i]=mas[j];
mas[j]=c;
}
}
}

for(int i=0;i<10;i++){
Label1->Caption=Label1->Caption+IntToStr(mas[i])+" ";
}
вот и все! заменяй Label`ы на printf`ы и готово
Ответ отправил: PROD (статус: 5-ый класс)
Ответ отправлен: 26.11.2006, 14:01
Оценка за ответ: 3
Комментарий оценки:
в том то и дело что дан именно связный список!!!

Отвечает: Терсков Сергей
Здравствуйте, Gang!
Вот текст программы на C++ с использованием STL

Приложение:

Ответ отправил: Терсков Сергей (статус: 2-ой класс)
Ответ отправлен: 27.11.2006, 04:34
Оценка за ответ: 1
Комментарий оценки:
ну написал же что на СИ надо, а не на С++ там подход совершенно разный...


Вопрос № 64.167
У вас ненайдется еbook по изучению Visual C++ (Лучше было бы Visual C++ 2005). Спасибо.
Отправлен: 25.11.2006, 17:28
Вопрос задал: Tebriz (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: nazarini
Здравствуйте, Tebriz!
http://kiev.c-books.info/books/load.php?ty=c&lng=RU
Ответ отправил: nazarini (статус: 1-ый класс)
Ответ отправлен: 25.11.2006, 21:25
Оценка за ответ: 2


Вопрос № 64.169
Уважаемые Экспреты!!!
Вот функция преобоазования цвета из 24 в 16 (565):
Т.е. подставляем 0xцвет (0xffa0b7)и получаем преобразованный.
WORD с565(DWORD src)
{
return (WORD) (( src & 0xf8 )>> 3 | ( src & 0xfc00 ) >> 5 | ( src & 0xf80000 ) >> 8);
}

Преобразует хорошо, цвета почти неразличимы!
Но мне понадобилось преобразовывать цвета по отдельности. Т.е. подставлять R,G,B составляющие... Пробовал делать сам не получилось, разница слишком заметна!

Отправлен: 25.11.2006, 17:35
Вопрос задал: Motoroller (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: John Paramol
Здравствуйте, Motoroller!
Можно попробовать так
с565(RGB(red,green,blue));
Удачи!
---------
1=2, at values 1 large enough
Ответ отправил: John Paramol (статус: 4-ый класс)
Ответ отправлен: 25.11.2006, 19:22
Оценка за ответ: 5
Комментарий оценки:
Спасибо. Не знал про эту функцию.


Вопрос № 64.197
Уважаемые эксперты!!!

Есть два массива:
byte *a,*b;

Длины одинаковы:
a=new byte[h*w];
b=new byte[h*w];

Требуется поместить в массив a значения массива b, НО ЧИТАЯ ПОСТРОЧНО (ширина w) СНИЗУ ВВЕРХ.

Пример:
h=2;
w=3;

b
{
1,2,3;
4,5,6;
7,8,9;
}

тогда будет
a
{
7,8,9;
4,5,6;
1,2,3;
}

Как это реализовать?
Отправлен: 25.11.2006, 20:34
Вопрос задал: Motoroller (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Олег Владимирович
Здравствуйте, Motoroller!

Предлагается такой вариант:
for (int i = 0; i < h; i++) for (int j = 0; j < w; j++) a[w*i+j] = b[w*(h-1-i)+j];
Удачи!
---------
Факультет ПМ-ПУ - лучший в СПбГУ!
Ответ отправил: Олег Владимирович (статус: 7-ой класс)
Ответ отправлен: 25.11.2006, 20:49
Оценка за ответ: 5
Комментарий оценки:
Спасибо!

Отвечает: Терсков Сергей
Здравствуйте, Motoroller!
Вот например попробуй вот так...

Приложение:

Ответ отправил: Терсков Сергей (статус: 2-ой класс)
Ответ отправлен: 27.11.2006, 04:36
Оценка за ответ: 5
Комментарий оценки:
Ну я не просил выводить. Но сортировка идет правильная...

Отвечает: Sergey A. Wedensky
Здравствуйте, Motoroller!

for (int i = 0; i < h; i ++)
memcpy(a+i*w, b+(h-i-1)*w, w);
Ответ отправил: Sergey A. Wedensky (статус: 8-ой класс)
Ответ отправлен: 27.11.2006, 10:56
Оценка за ответ: 5
Комментарий оценки:
Идеальный вариант. Я им и стал пользоваться после первого ответа.
Спасибо.


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное