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

Сортировка символов в строке, виртуальные функции - 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, int); void main() {
C++ не понятно(извиняюсь если не туда!) прога на си на IBM PC Добавлено через 15 секунд Необходимо реализовать на языке Си на IBM PC один из ал- горитмов управления памятью путем разработки следующих функций по выделению и освобождению памяти: void *Malloc(unsigned int) - выделения блока памяти, заданной длины; void *Calloc(unsigned int, unsigned int) - выделения блока памяти, достаточного для размещения заданного ... http://www.cyberforum.ru/cpp-beginners/thread308860.html
C++ определить объём ОЗУ
Здравствуйте все кто читает этот пост. Ниже привожу код которым определяю количество ОЗУ в системе. Не могу разобраться, почему работает корректно только если в системе не более 2Гб, если свыше 2х, например 3 Гб показывает только 2048 мб. Где грабли?:wall: MEMORYSTATUS _mem_status; ZeroMemory(&_mem_status,sizeof(_mem_status)); _mem_status.dwLength = sizeof(_mem_status); ...
Регулярные выражения для нахождения IP адресов в тексте C++/CLI
Подскажите как правильно задать регулярное выражение для адресов в формате d.d.d.d где 0<d<255 на Visual Studio C++ Добавлено через 8 часов 20 минут IP адресов то есть.
C++ Массивы в си, исправление ошибок http://www.cyberforum.ru/cpp-beginners/thread308800.html
Задача с массивами. Дана вещественная матрица A размера n × m. Определить k – количество "особых" элементов массива A, считая его элемент особым, если он больше суммы остальных элементов его столбца. Есть наработки, но выбивает ошибки. Помогите разобраться. #include <stdio.h> #include<iostream.h> void main(){
C++ Выделение памяти для массива через функцию и использование этого массива Я определяю свою структуру, создаю динамический массив, где будут храниться элементы этой структуры. Есть функция которая выделяет память, потом создает элемент структуры, считывает данные с клавиатуры и добавляет в массив этот элемент. Затем я хочу использовать этот массив в другой функции. Но при обращении к массиву прога выдает ошибку. #include <iostream> using namespace std; struct sStr... подробнее

Показать сообщение отдельно
Leval
Сообщений: n/a

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

31.05.2011, 00:58. Просмотров 1139. Ответов 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru