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

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

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

Подправить сортировку в проге - C++

30.04.2009, 00:43. Просмотров 466. Ответов 1
Метки нет (Все метки)

Мне необходимо переделать сортировку по возрастанию количества цифр в строке в сортировку по убыванию (это конкретная часть из программы).
Код
int Sort::fcel (char*a)
		{
			int b=0;
			for (int i=0; i<strlen(a); i++)
				if (a[i]=='1'|| a[i]=='2'|| a[i]=='3'|| a[i]=='4'|| a[i]=='5'|| a[i]=='6'|| a[i]=='7'|| a[i]=='8'|| a[i]=='9'|| a[i]=='0')
					b++;
			return b;
		};

	void Sort::Add  (char*arg)
	{   
		cout<<"ADD Sort"<<endl;
		el*l, *cur1;
		asocel* cur;
		l=new el;
		l->info=new char[strlen(arg)];
		strcpy(l->info,arg);
		l->next = NULL;
		count++;
	if (Head==NULL)
		{
			asocel*as;
			as=new asocel;
			as->info=arg[0];
			as->down=NULL;
			as->next=l;
			Head=as;
		}
	else
		{
			cur=Head;
			while (cur->info!=arg[0]&&cur->down)
				cur=cur->down;
			if (cur->info==arg[0])
				{
					cur1=cur->next;
					int a=fcel(cur1->info);
					int b=fcel(l->info);
					while (cur1->next!=NULL&&(fcel(cur1->next->info)<fcel(l->info)))
						cur1=cur1->next;
					if (cur1->next==NULL)
						cur1->next=l;
					else 
					{
						l->next=cur1->next;
						cur1->next=l;
					}
				}
			else
				{
					asocel*as;
					as=new asocel;
					as->info=arg[0];
					as->down=NULL;
					as->next=l;
					cur->down=as;
				}
		}
	};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.04.2009, 00:43     Подправить сортировку в проге
Посмотрите здесь:

сортировку по Tag и сортировку по Eng - C++
Есть структура: struct _1C { string Tag; string Rus; string Eng; _1C(const string &amp;Tag, const string &amp;Rus, const string...

Ошибки в проге - C++
#include &lt;iostream&gt; using namespace std; int uselust = 467; int ust = 300; int nomerus = 789; int kolusl = 200; int M = 550; ...

Ошибка в проге - C++
Дан файл с непустой последовательностью слов, содержащих от 1 до 8 букв. Напечатать все слова наименьшей длины. #include &quot;stdafx.h&quot; ...

Ошибка в проге - C++
Помогите исправить ошибку. Само задание задание надо переписывать. Редактор формул внизу страницы #include &lt;iostream&gt; ...

Ошибка в проге - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; const int ras = 6; //Размер массива. int uselust = 467; int ust =...

коменти к проге - C++
кто может помочь раздуплить програмку #include &lt;string.h&gt; #include &lt;math.h&gt; #include &lt;ctype.h&gt; #include &lt;assert.h&gt; #include...

Хелп по проге - C++
Всем привет. делаю прогу и никак не могу понять, в чем дело. Есть массив А, присваиваю массиву Б элементы массива А в квадрате, потом...

Ошибка в проге - C++
проверте пожалуйста помогите где ошибка не могу найти где то i меняется #include &lt;iostream&gt; #include &lt;string.h&gt; #include &lt;cctype&gt;...

комментарий к проге - C++
помогите прокоментировать программу #include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; int main() { int **a; ...

ошибки в проге - C++
задание: вычислить y=cos(x)+cos(x)^2+cos(x)^3+...+cos(x)^30 #include&lt;iostream&gt; #include&lt;math.h&gt; #include&lt;conio.h&gt; using...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NickA
35 / 34 / 2
Регистрация: 28.04.2009
Сообщений: 67
30.04.2009, 00:51     Подправить сортировку в проге #2
C++
1
if (a[i]=='1'|| a[i]=='2'|| a[i]=='3'|| a[i]=='4'|| a[i]=='5'|| a[i]=='6'|| a[i]=='7'|| a[i]=='8'|| a[i]=='9'|| a[i]=='0')
Лучше заменить на:
C++
1
if(a[i]>='0' && a[i]<='9')
Yandex
Объявления
30.04.2009, 00:51     Подправить сортировку в проге
Ответ Создать тему
Опции темы

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