Вопрос № 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++;
}
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 (статус: 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 Комментарий оценки: Идеальный вариант. Я им и стал пользоваться после первого ответа. Спасибо.