Форум программистов, компьютерный форум, киберфорум
Наши страницы

Сортировка символов в строке, виртуальные функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Почему все обнуляется??? http://www.cyberforum.ru/cpp-beginners/thread308864.html
#include <iostream.h> #include <iomanip.h> // прототипы функций void input ( float , char); void raschet ( float , float , float*,float*, int); void output ( float , char, float, float,...
C++ не понятно(извиняюсь если не туда!) прога на си на IBM PC Добавлено через 15 секунд Необходимо реализовать на языке Си на IBM PC один из ал- горитмов управления памятью путем разработки следующих функций по выделению и... http://www.cyberforum.ru/cpp-beginners/thread308860.html
C++ определить объём ОЗУ
Здравствуйте все кто читает этот пост. Ниже привожу код которым определяю количество ОЗУ в системе. Не могу разобраться, почему работает корректно только если в системе не более 2Гб, если свыше 2х,...
C++ Массивы в си, исправление ошибок
Задача с массивами. Дана вещественная матрица A размера n × m. Определить k – количество "особых" элементов массива A, считая его элемент особым, если он больше суммы остальных элементов его...
C++ Выделение памяти для массива через функцию и использование этого массива http://www.cyberforum.ru/cpp-beginners/thread308795.html
Я определяю свою структуру, создаю динамический массив, где будут храниться элементы этой структуры. Есть функция которая выделяет память, потом создает элемент структуры, считывает данные с...
C++ функция(на си), распознающая 1-е число в строке требуется написать функцию которая распознает первое целое число в строке(число не должно входить в слово, т.е. должно быть разделено разделителями). разделители - все символы, кроме букв и цифр.... подробнее

Показать сообщение отдельно
Leval

Сортировка символов в строке, виртуальные функции - C++

31.05.2011, 00:58. Просмотров 1207. Ответов 1
Метки (Все метки)

Всем привет! Помогите пожалуйста, нужно написать лабу на С++: базовый класс "строки" с виртуальной функцией сортировки строки с выводом результата. Производный класс "Большие буквы" с вирт. функцией сортировки по возрастанию, и произв. класс "Маленькие буквы" с вирт. функцией сортировки по убыванию. Нужно использовать полиморфизм. Так, как я пробовал, не получается, файл компилируется но на этапе выполнения выдаёт исключительную ситуацию:
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include "stdafx.h"
#include "math.h"
#include <iostream>
#include <string.h>
 
class Line {
public: Line() {}
virtual void sort(char *S)
{
int n=strlen(S);
char t;
for (int i=0; i<n; i++) {
int j=i+1;
if (S[i]!=S[j])
{
t=S[i];
S[i]=S[j];
S[j]=t;}
}
printf(S);
}
};
 
class CapitalLet: public Line {
public: CapitalLet (){}
char* S;
virtual void sort(char *S)
{
char t;
int n=strlen(S);
for (int i=0; i<n; i++) {
int j=i+1;
if (S[i]<S[j])
{
t=S[i];
S[i]=S[j];
S[j]=t;
}}
printf(S);
}};
 
class SmallLet: public Line {
public: SmallLet(){}
char* S;
virtual void sort(char *S)
{
char t;
int n=strlen(S);
for (int i=0; i<n; i++) {
int j=i+1;
if (S[i]>S[j])
{
t=S[i];
S[i]=S[j];
S[j]=t;
}}
printf(S);
}};
 
 
int _tmain(int argc, _TCHAR* argv[])
{
Line ob;
Line *p;
CapitalLet myC;
myC.S="fghjhgfvbnmkkabghbjn";
SmallLet myS;
myS.S="jnhgvcfdxszdfghjklbh";
p=&ob;
p->sort(myC.S);
p=&myS;
p->sort(myS.S);
 
return 0;
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru