Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Cuda
0 / 0 / 0
Регистрация: 12.11.2011
Сообщений: 21
#1

Создать класс - C++

28.05.2012, 00:03. Просмотров 371. Ответов 4
Метки нет (Все метки)

Здравствуйте. Имеется код(исправный) программы для деления многочлена на многочлен. Подскажите пожалуйста как мне создать класс на основе этого кода?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <stdio.h>
#include <math.h>
void PrintPolynom(float *p, int n)
{
  for(int i=0;i<n;i++)
    printf("%+f x^%d",*(p+i),n-i-1);
  printf("\n");
}
main()
{
int N,M;
printf("vvedite N");//степень многочлена P(x)
scanf("%d",&N);
printf("vvedite M");//степень многочлена Q(x)
scanf("%d",&M);
float P[N];
float Q[M];
float S[N-M+1];
for ( int i = 0; i < N; i ++ )
{
printf("Vvedite P[%d]> ", i );
scanf ("%f", &P[i]);//ввод P[i]
}
for ( int i = 0; i < M; i ++)
{
printf("Vvedite Q[%d]> ", i );
scanf ("%f", &Q[i]); // ввод Q[i]
}
  // выводим многочлены
  printf("P(x):\n");
  PrintPolynom(P,N);
  printf("Q(x):\n");
  PrintPolynom(Q,M);
  // деление
  for(int i=0;i<N-M+1;i++)
  {
    S[i]=P[i]/Q[0];
    for(int j=0;j<M;j++)
      P[i+j]-=S[i]*Q[j];
  }
  // выводим результат
  printf("\nresult:\n");
  PrintPolynom(S,N-M+1);
  // остаток
  printf("ostatok:\n");
  PrintPolynom(P+(N-M+1),M-1);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2012, 00:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать класс (C++):

Создать класс Man (человек), с полями: имя, возраст, пол и вес. Создать производный класс Student ... - C++
Создать класс Man (человек), с полями: имя, возраст, пол и вес. Определить методы задания имени, возраста и веса. Создать производный класс...

Создать абстрактный базовый класс Тройка чисел с виртуальными методами увеличения на 1. Создать производный класс Время со своими функциями - C++
Здравствуйте, пожалуйста помогите написать код к данной задаче, с таким условием: Создать абстрактный базовый класс Тройка чисел с...

Создать класс - данные - абстрактный базовый класс. Создать производные классы - C++
Всем привет! У меня вот такая проблема.... Создать класс - данные - абстрактный базовый класс. Создать производные классы - данные типа...

Создать класс Элемент списка (Node), а затем класс Список (List) - C++
Задание: Создать класс Элемент списка (Node), а затем класс Список (List). В зависимости от варианта список должен быть одно или...

Создать класс Point и производный класс ColoredPoint (цветная точка) - C++
Создайте класс Point (точка на плоскости), характеризующийся двумя координатами. Создайте производный класс ColoredPoint (цветная точка), в...

Класс: создать класс Fraction для работы с дробными числами - C++
Необходимо создать класс Fraction для работы с дробными числами. Число должно быть представлено двумя полями: целая часть – длинное целое...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
KeyGen
384 / 291 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 1
28.05.2012, 00:42 #2
На С ты не напишешь класс, он процедурный язык.
Cuda
0 / 0 / 0
Регистрация: 12.11.2011
Сообщений: 21
28.05.2012, 17:49  [ТС] #3
как на с++ нельзя написать класс? что имеешь ввиду?
Kastaneda
Форумчанин
Эксперт С++
4652 / 2860 / 228
Регистрация: 12.12.2009
Сообщений: 7,268
Записей в блоге: 2
Завершенные тесты: 1
28.05.2012, 18:51 #4
Код мало того, что на Си написан, так еще и на С99 (если отталкиваться от того, что код рабочий).
вот это
C
1
2
3
4
5
6
7
8
int N,M;
printf("vvedite N");//степень многочлена P(x)
scanf("%d",&N);
printf("vvedite M");//степень многочлена Q(x)
scanf("%d",&M);
float P[N];
float Q[M];
float S[N-M+1];
придется переписать через new

сделай класс Polynom, добавь методы ввода данных, вывода и перегрузи оператор деления.
Cuda
0 / 0 / 0
Регистрация: 12.11.2011
Сообщений: 21
28.05.2012, 20:44  [ТС] #5
дело в том что не разбираюсь пока что в классах. потому и спросил

Добавлено через 21 минуту
ну вот переписал через new:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <stdio.h>
#include <math.h>
void PrintPolynom(float *p, int n)
{
  for(int i=0;i<n;i++)
    printf("%+f x^%d",*(p+i),n-i-1);
  printf("\n");
}
main()
{
int N,M;
float *P;
float *Q;
printf("vvedite N");//степень многочлена P(x)
scanf("%d",&N);
P=new float [N];
printf("vvedite M");//степень многочлена Q(x)
scanf("%d",&M);
Q=new float [M];
float S[N-M+1];
for ( int i = 0; i < N; i ++ )
{
printf("Vvedite P[%d]> ", i );
scanf ("%f", &P[i]);//ввод P[i]
}
for ( int i = 0; i < M; i ++)
{
printf("Vvedite Q[%d]> ", i );
scanf ("%f", &Q[i]); // ввод Q[i]
}
  // выводим многочлены
  printf("P(x):\n");
  PrintPolynom(P,N);
  printf("Q(x):\n");
  PrintPolynom(Q,M);
  // деление
  for(int i=0;i<N-M+1;i++)
  {
    S[i]=P[i]/Q[0];
    for(int j=0;j<M;j++)
      P[i+j]-=S[i]*Q[j];
  }
  // выводим результат
  printf("\nresult:\n");
  PrintPolynom(S,N-M+1);
  // остаток
  printf("ostatok:\n");
  PrintPolynom(P+(N-M+1),M-1);
}
но мне все равно не понятно как код переделать под класс.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2012, 20:44
Привет! Вот еще темы с ответами:

Создать Класс Coins (монеты). Класс сохраняет массив из 3 монет ... - C++
Помогите написать програмку, где: Нужно создать Класс Coins (монеты). Класс сохраняет массив из 3 монет и общее количество лицевых сторон...

Создать класс Pair(пара чисел) и класс-наследник Fraction - C++
Создать класс Pair (пара чисел); определить методы изменения полей и сравнения пар: пара p1 больше пары p2, если (first.p1&gt;first.p2) или...

Создать базовый класс Car (машина) и производный класс Lorry (грузовик): ООП ошибки - C++
Создать базовый класс Car (машина), характеризуемый торговой маркой (строка), числом цилиндров, мощностью. Определить методы переназначения...

Класс: Создать абстрактный базовый класс Figure с виртуальными методами вычисления площади и периметра. - C++
Создать абстрактный базовый класс Figure с виртуальными методами вычисления площади и периметра. Создать производные классы: Rectangle...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
28.05.2012, 20:44
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru