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

Сортировка списка слов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывести на экран первые пять совершенных чисел http://www.cyberforum.ru/cpp-beginners/thread849520.html
Помогите пожалуйста с программой. 32. Вывести на экран первые пять совершенных чисел (функция возвращает 1, если число совершенное, 0 – в противном случаем). Я попыталась сама сделать, но у меня не запускается (пишет что main.cpp(7): error C3861: delit: идентификатор не найден). #include <iostream> #include <math.h> using namespace std; int sover(int a) { int n,x,p;
C++ Ассемблерные вставки в C++ Собственно сабж ...: Имею следующий код : short Carry = 2; unsigned short Mas; Mas = 12; Mas = 13; Mas = 14; Пытаюсь , в ассемблерной вставке , обратиться к первому элементу массива (не нулевому) ... Делаю так : _asm{ MOV AX,Mas+Carry; http://www.cyberforum.ru/cpp-beginners/thread849518.html
Куда дальше ? C++
Хорошо освоил C++ STL Qt Win32 Api, но судя по всему для трудоустройства недостаточно . Куда дальше ? Мне говорили о возможности участия в свободных проектах но как начать я не нашел. Стоит ли начинать учить Java ?
Указатели в базовом классе на базовый класс и производный класс C++
Пишу контейнер "Бинарное дерево поиска" для частотного словаря. С самим контейнером особо вопросов нету. Вопрос по поводу элементов в нём. Я создал базовую структуру, описывающую элемент обычного бинарного дерева.
C++ Пересечение множеств http://www.cyberforum.ru/cpp-beginners/thread849487.html
Здравствуйте. У меня следующая задача: Даны 2 множества A и B, причем множество B отсортировано по возрастанию. Необходимо получить индексы тех элементов множества А, которые содержатся в множестве В. Как это можно сделать максимально быстро на С++? Пример: A={4 3 5 1 7 0 2}; B={1 2 3}; => Ответ = {2 4 6};
C++ Сравнение векторов Вот имеется вектор <bool> длиной допустим 5, а второй вектор <bool> длиной 200. Вот мне надо сравнить первый вектор с частью второго, зная размер первого. Вот так не получилось if(fs == rediska(nac, nac + k), где k это размер первого вектора, nac это итератор на начало вектора rediska. Подскажите пожалуйста, как сравнивать с частью. подробнее

Показать сообщение отдельно
wse
Сообщений: n/a
26.04.2013, 20:04     Сортировка списка слов
Каждый элемент списка содержит динамический массив типа char {char*}. Массив хранит слово на латинице. Пользователь вводит кол-во элементов и перечисляет слова, которые нужно поместить в список.

Задача:
Упорядочить список по возрастанию, не используя дополнительных списков. То есть изменяя имеющийся.
Вывести на экран результат и последовательно удалить все элементы списка. При удалении элементов не забываем освобождать память у динамических массивов.

Алгоритм:
Реализовать функцию AddToSort(first,value). Вставка в упорядоченный список.
Начинаем со второго элемента списка, сравниваем значение с предыдущим. Если текущее значение меньше предыдущего, то вырезаем элемент из списка и вставляем, используя AddToSort.

Для сравнения строк используем strcmp(char1,char2)
Функция возвращает целочисленное значение:
- больше нуля, если первая строка больше второй;
- 0 (нуль), если строки равны;
- меньше нуля, если первая строка меньше второй.

Вот мой кодно он не работает,помогите пж. исправить)


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
76
77
78
79
80
81
82
83
84
85
86
87
#include <iostream>
#include <iomanip>
#include <locale>
#include <cstring>
using namespace std;
 
struct comp
{
char* data;
comp *next;
};
 
void AddToSort(comp *&first, char value[40]) 
{ 
comp *P = new comp;
int q=0;
while (value[q])
q++;
char*a=new char[q];
q=0;
while (value[q])
a[q]=value[q++];
a[q]=NULL;
P -> data = a;
P->next=NULL;
if(!first)
first = P;
else
if(strcmp(first -> data,value)>=0)
{
P -> next = first;
first = P;
}
else
{
comp *t = first;
while(t->next!= NULL && (strcmp(t ->next-> data,value)<0))
t = t -> next;
P->next=t->next;
t->next=P;
}
}
void delcomp(comp *&first)
{
comp *t = first;
if(first)
while (first)
{
comp*buf=first;
first=first->next;
 
delete buf;
}
}
 
void showcomp(comp *first)
{
comp *temp = first;
if(first)
while(temp)
{
cout<<temp -> data << " ";
temp = temp -> next;
}
else
cout <<"Spisok pust!"<<endl;
cout<<endl;
}
 
int main()
{ comp *Head=NULL;
int s;
char w[40];
cout<<"Vvedite s: ";
cin>>s;
for(int i = 0; i < s; i++){
cout<< "Vvedite slovo : ";
cin>>w;
AddToSort(Head, w);
}
cout<< "Gotoviy spisok: ";
showcomp(Head);
delcomp(Head);
showcomp(Head);
system("pause");
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru