Liska
Новичок
|
Помогите плиз. Написать произвольно строку русских и латинских букв и цифр вперемешку. Все русские буквы(большие и маленькие) и цифры заменить пробелами.
|
Всего сообщений: 1 | Присоединился: январь 2010 | Отправлено: 3 янв. 2010 6:34 | IP
|
|
Ler4onok
Новичок
|
а вы можете объяснить алгоритм Брезенхейма? void line_brs(int x1,int y1,int x2,int y2,int c) { int Dx = (x2 - x1); int Dy = (y2 - y1); int DDy = 2*Dy; //(или DDy = Dy<<1;) int _2e = 0; int x = x1; int y = y1; putpixel(x,y,c); while((x /= x2)&&(y /= y1)) { x++; int S = _2e + DDy - Dx; if(S>0) { y++; _2e = S - Dx; } else { _2e = S + Dx; }; putpixel(x,y,c); } по этой программе,если можно..... (Сообщение отредактировал Ler4onok 4 янв. 2010 21:49)
|
Всего сообщений: 7 | Присоединился: январь 2010 | Отправлено: 4 янв. 2010 20:33 | IP
|
|
Ler4onok
Новичок
|
и по этому тоже,если можно.... void circle32(int Xc,int Yc,int radius,int c) { int x,y,d; d = 3 - (radius<<1); x = 0; y = radius; while(x<y) { putpixel(Xc+x,Yc+y,c); putpixel(Xc+x,Yc-y,c); putpixel(Xc-x,Yc+y,c); putpixel(Xc-x,Yc-y,c); putpixel(Xc+y,Yc+x,c); putpixel(Xc+y,Yc-x,c); putpixel(Xc-y,Yc+x,c); putpixel(Xc-y,Yc-x,c); if(d>0) { d = d + (x<<2) + 6; } else { d = d + ((x-y)<<2) + 10; y--; } x++; } } (Сообщение отредактировал Ler4onok 6 янв. 2010 13:38)
|
Всего сообщений: 7 | Присоединился: январь 2010 | Отправлено: 4 янв. 2010 22:30 | IP
|
|
Senya
Новичок
|
Помогите пожалуйста Организовать 2 циклических списка содержащих данные о клиентах (наименование, шифр, организация). Информацию получить из файла . Вывести на экран списки, используя функцию . Сцепить 2 циклических списка в один, вывести на экран результат слияния . Затем удалить из нового списка , клиентов, шифр которых начинается с цифры 5
|
Всего сообщений: 6 | Присоединился: декабрь 2009 | Отправлено: 6 янв. 2010 14:51 | IP
|
|
baby
Новичок
|
помогите пожалуйста с задачей.Компьютер вместо кассового аппарата.База наличия товаров:наименование,единица измерения,цена единицы,количество,дата последнего завоза.Регистрация поступления товара.Оформление покупки:выписка чека,корректировка базы.Инвентаризация остатков товара с вычислением суммарной стоимости. (программа работает,выписка чека работает не правильно у меня!) #include <iostream> using namespace std; #include <windows.h> char*rus(const char*text); struct Data { char a[100];//наименование char e[20];//единица измерения double c;//цена единицы int k;//количество товара char mes[20];//месяц int shifre;//число int god;//год }; struct Zveno { Data d; Zveno *next; }; void vvod(Data &x); void add(Zveno **u,Data &x); void print(Zveno *u); void clear(Zveno **u); void delet(Zveno **u,Data &x); int poisk (Zveno *u,char *naim); Data proverka (Zveno *u,int col); int main() { Data x; Zveno*u=NULL; Zveno*v=NULL; int n; char naim[100]; do{ cout<<rus(" \n МЕНЮ: \n")<<endl; cout<<rus("1- для ввода данных")<<endl; cout<<rus("2- база наличия товаров")<<endl; cout<<rus("3- выбрать товар на продажу")<<endl; cout<<rus("4- выписать чек")<<endl; cout<<rus("0- выход")<<endl; cout<<"n="; cin>>n; switch(n) { case 0: clear(&u); break; case 1: vvod(x); add(&u,x); break; case 2: cout<<rus("\n База наличия товаров: \n")<<endl; print(u); break; case 3: int k,col; do{ cout<<rus("\n Введите наименование товара: \n"); cin>>naim; k=poisk(u,naim); if(k==0) { do{ cout<<rus("\n введите количество: \n"); cin>>col; x=proverka(u, col); if(x.k>0) { delet(&u,x); add(&v,x); } else cout<<rus("\n НЕ ХВАТАЕТ ТОВАРА! \n"); } while(x.k<=0); } else cout<<rus("\n Такого товара в базе нет! \n"); }while(k==0&&k<0); break; case 4: cout<<rus("\n ЧЕК: \n")<<endl; print(v); break; } }while(n!=0); return 0; } void vvod(Data&x) { cout<<rus("\n ДАННЫЕ: \n")<<endl; cout<<rus("введите наименование товара:\n"); cin>>x.a; cout<<rus("введите единицу измерения:\n"); cin>>x.e; cout<<rus("введите цену:\n"); cin>>x.c; cout<<rus("введите количество:\n"); cin>>x.k; cout<<rus("введите дату:\n"); do{ cout<<rus("число:\n"); cin>>x.shifre; }while(x.shifre<1||x.shifre>31); cout<<rus("месяц:\n"); cin>>x.mes; do{ cout<<rus("год:\n"); cin>>x.god; }while(x.god<1000||x.god>3000); } void add(Zveno**u,Data&x) { Zveno*t=new Zveno; strcpy(t->d.a,x.a); strcpy(t->d.e,x.e); t->d.c=x.c; t->d.k=x.k; t->d.shifre=x.shifre; strcpy(t->d.mes,x.mes); t->d.god=x.god; t->next=*u; *u=t; } void print(Zveno*u) { Zveno*p=u; while(p) { cout<<rus("наименование товара:\n"); cout<<p->d.a<<endl; cout<<rus("единица измерения:\n"); cout<<p->d.e<<endl; cout<<rus("цена единицы:\n"); cout<<p->d.c<<endl; cout<<rus("количество:\n"); cout<<p->d.k<<endl; cout<<rus("дата:\n"); cout<<p->d.shifre<<p->d.mes<<p->d.god<<endl; p=p->next; } } int poisk (Zveno*u,char * naim) { Data x; Zveno *p=u; while(p) { int k=strcmp(naim,p->d.a); if(k==0) { strcpy(x.a,p->d.a); strcpy(x.e,p->d.e); x.c=p->d.c; x.k=p->d.k; x.shifre=p->d.shifre; strcpy(x.mes,p->d.mes); x.god=p->d.god; return k; } p=p->next; } int k=-1; return k; } Data proverka (Zveno*u,int col) { Data x; Zveno*p=u; cout<<rus("проверка")<<endl; while(p) { if(p->d.k>=col) { strcpy(x.a,p->d.a); strcpy(x.e,p->d.e); x.c=p->d.c; x.k=col; x.shifre=p->d.shifre; strcpy(x.mes,p->d.mes); x.god=p->d.god; return x; } p=p->next; } x.k=-1; return x; } void delet(Zveno**u,Data&x) { if(*u==0) { return; } Zveno*t=*u; if(t->d.k==x.k) { *u=t->next; delete t; return; } Zveno*t1=t->next; while(t1) { if(t1->d.k==x.k) { t->next=t1->next; delete t1; return; } t=t1; t1=t1->next; } } void clear(Zveno**u) { Zveno*p=*u; Zveno*t=p; if(p==0) return; while(p) { t=p; p=p->next; delete t; } *u=0; } char bufer[256]; char*rus(const char*text) { CharToOem(text,bufer); return bufer; }
|
Всего сообщений: 2 | Присоединился: январь 2010 | Отправлено: 6 янв. 2010 18:12 | IP
|
|
Ler4onok
Новичок
|
enum { INSIDE, OUTSIDE, BOUNDARY }; // положение точки // ВНУТРИ, ВНЕ, НА ГРАНИЦЕ enum { TOUCHING, CROSSING, INESSENTIAL }; // положение ребра // КАСАТЕЛbНОЕ, ПЕРЕСЕКАЮЩЕЕ, НЕСУЩЕСТВЕННОЕ int pointInPolygon(Point &a, Polygon &p) { int parity = 0; for (int i = 0; i < p.size(); i++, p.advance (CLOCKWISE)) { Edge e = p.edge(); switch (edgeType(a, e)) { case TOUCHING: return BOUNDARY; case CROSSING: parity = 1 - parity; } } return (parity ? INSIDE : OUTSIDE); } расскажите,плиз...как работает этот алгоритм....
|
Всего сообщений: 7 | Присоединился: январь 2010 | Отправлено: 7 янв. 2010 20:19 | IP
|
|
TwoHands
Новичок
|
Построить описание класса прямоугольник [поля типа "координаты вершин, заданные в порядке их обхода"]. Описать для него методы "вычисления углов в градусах", "вычисление диагонали", "вычисление длин сторон", "вычисление периметра", "вычисление площади", "рис. на экране". Заранее благодарю.
|
Всего сообщений: 1 | Присоединился: январь 2010 | Отправлено: 16 янв. 2010 7:09 | IP
|
|
Dedelev
Новичок
|
Здравствуйте! Ребят помогите решить 2 задачи, я сейчас восстанавливаюсь в универ и по некоторым причинам не мог ходить на занятия и чтобы сдать зачет по выч. прктике надо решить 2 задачи. Проблема вся в том что программа на которая идет щас у моей новой группы не совпадает с программой бывшей группы, мы изучали паскаль а задачи мне дали на С++, в котором я полный ноль, помоги пожалуйста решить задачи. Заранее спасибо. 1. Дана последовательность целых чисел. Заменить все положительные элементы на х. 2. Дана последовательность целых чисел. Удалить из массива все четные числа. Я понимаю что для опытных программистов эти задачи покажутся легкими, но я Вас прошу не писать тут какой я нубас)))), а прошу помощи) З.Ы. Еще раз заранее спсибо)
|
Всего сообщений: 1 | Присоединился: январь 2010 | Отправлено: 20 янв. 2010 15:22 | IP
|
|
BandiTTo24
Новичок
|
ПОМОГИТЕ ПОЖАЛУЙСТА СРОЧНО!Желательно сегодня, максимум завтра! ЗАДАЧА ПО C++Builder6 Разработать описание объекта автоматизации, сформулировать миссию информационной системы на объекте автоматизации, выполнить формализацию процессо, разработать структурные диаграммы для объекта: Информациооно-вычислительная система "киноплекса" по продаже билетов на киносеансы (холл с 5 рабочими местами кассиров, 5 кинозалов, 1 демонстрациооный компьютер для просмотра свободных мест в залах,1 администратор, сервер, бухалтерия, директор). ПРОШУ ОТПИСАТЬСЯ О ВОЗМОЖНОСТИ ВЫПОЛНЕНИЯ ЗАДАНИЯ НА e-mail
|
Всего сообщений: 5 | Присоединился: январь 2010 | Отправлено: 21 янв. 2010 17:18 | IP
|
|
Splain
Новичок
|
вобщем вот задача-С клавиатуры вводится 5 символов. Нужно посчитать в регистре DX, сколько среди них в сумме точек и запятых. я решил её следующим образом- ;===[ Начало сегмента кода ]============================================ mycode segment 'code' org 100h ; Обязательная директива ТОЛЬКО для COM-файлов START: ;---[ Точка старта ]--------------------------------------------------------------------- ; обнуляем dx mov dx, 0 ; вводим 5 символов mov ah, 01h int 21h mov byte[DS:0], al mov ah, 01h int 21h mov byte[DS:1], al mov ah, 01h int 21h mov byte[DS:2], al mov ah, 01h int 21h mov byte[DS:3], al mov ah, 01h int 21h mov byte[DS:4], al mov bx, 0 mov cx, 5 MYLOOP: cmp byte[bx], 2Eh ; если введённый символ ',' jnz METKA inc dx ; то увеличиваем dx на 1 METKA: cmp byte[bx], 2Ch ; если введённый символ '.' jnz METKA2 inc dx ; то увеличиваем dx на 1 METKA2: inc bx LOOP MYLOOP ;---[ Стандартное завершение программы ]---------------------------------------- mov AX, 4C00h int 21h ;===[ Начало сегмента данных ]========================================== ; ... на что препод ответил- В целом все работает корректно, но есть замечания: 1) если понадобится вводить не 5, а 125 символов, вы будете каждый раз переписывать программу? нужно сделать один раз универсально.1 2) у вас присутствуют некие константы, с которыми вы проводите сравнение. А что если на какой-то машине будет установлена иная кодировка символов? Здесь тоже нужно делать универсально. большая просьба помочь исправить недочёты-от этого решается экзамен!) сделать это надо до 7-8 утра!!вот такая сложная ситуация)))поэтому буду очень благодарен за помощь..! (Сообщение отредактировал Splain 23 янв. 2010 2:08)
|
Всего сообщений: 6 | Присоединился: январь 2010 | Отправлено: 23 янв. 2010 1:30 | IP
|
|
|