Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Информационные технологии
        Решение задач на С++
Отметить все сообщения как прочитанные   [ Помощь ]
» Добро пожаловать на форум "Информационные технологии" «

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ]
Модераторы: paradise, KMA
  

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

Отправка ответа:
Имя пользователя   Вы зарегистрировались?
Пароль   Забыли пароль?
Сообщение

Использование HTML запрещено

Использование IkonCode разрешено

Смайлики разрешены

Опции отправки

Добавить подпись?
Получать ответы по e-mail?
Разрешить смайлики в этом сообщении?
Просмотреть сообщение перед отправкой? Да   Нет
 

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ]

Форум работает на скрипте © Ikonboard.com