powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / сортировка символов
25 сообщений из 42, страница 1 из 2
сортировка символов
    #34971658
MeGG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
помогите ламеру..нужно решить задачу о сортировке символов в строке..какая существует функция для получения кода символа по самому символу..и наоборот...т.к. я думаю решить эту задачу методом пузырька..

Выходные данные
Строка с отсортированным порядком символов.

Пример входных данных
ajJGFghHfGHGHffsdgfgshdgfsdgfhsdgfgsdh

Пример выходных данных
FGGGHHHJadddddfffffffggggggghhhhjsssss
...
Рейтинг: 0 / 0
сортировка символов
    #34971677
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ты не думай, а начинай решать, а мы поможем
...
Рейтинг: 0 / 0
сортировка символов
    #34971700
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MeGGкакая существует функция для получения кода символа по самому символу..и наоборотчто такое "сам символ" ? и что такое его код ? ты ж не на каком-нибудь пассале или бейсике пишешь :)
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
сортировка символов
    #34971714
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MeGGкакая существует функция для получения кода символа по самому символу..и наоборот...т

Это?

Код: plaintext
1.
2.
3.
4.
5.
char s[ 1024 ];
char b;

b = s[i];
s[i]=b;
...
Рейтинг: 0 / 0
сортировка символов
    #34971828
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в С/С++ символ - целочисленный тип
...
Рейтинг: 0 / 0
сортировка символов
    #34972005
1211212
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
сортировка символов
    #34972074
MeGG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пишу на С++..я перебираю последовательно каждый элемент строки,начиная с первого, и если код какого-либо символа больше чем у следующего,меняю местами..а если в с++ символ это целочисленный тип то буферная переменная будет int типа?
...
Рейтинг: 0 / 0
сортировка символов
    #34972089
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MeGGто буферная переменная будет int типа?unsigned char
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
сортировка символов
    #34972099
MeGGпишу на С++..я перебираю последовательно каждый элемент строки,начиная с первого, и если код какого-либо символа больше чем у следующего,меняю местами..а если в с++ символ это целочисленный тип то буферная переменная будет int типа?
Можно int (интервал значений от 0 до 4 млн или от -2млн до +2 млн), можно char (интервал значений от -128 до 127 или от 0 до 256)
...
Рейтинг: 0 / 0
сортировка символов
    #34972121
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Станислав С...кийМожно int можно char будут проблемы с символами, у которых код >127, надо приводить к unsigned
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
сортировка символов
    #34972141
MeGG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так как же у i-го символа код узнать...:(или идея совсем неправильная..?
...
Рейтинг: 0 / 0
сортировка символов
    #34972206
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MeGGтак как же у i-го символа код узнать...:(или идея совсем неправильная..?так это он и есть ты его уже знаешь. Код символа: symbcod = str , где str - исходная строка
...
Рейтинг: 0 / 0
сортировка символов
    #34972225
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сорри, съел массив, гад
Код: plaintext
 unsigned char symbol_code = str[i] // где str - исходная строка 
...
Рейтинг: 0 / 0
сортировка символов
    #34972270
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да они тебяразводят ка хотят. В С char, wchar_t, short, int, long и long long все целочисленные типы, просто под них отводится разное количество байт. Кроме знаковых типов есть еще и беззнаковые(всегда положительные) Теперь собственно char положительные значения - англицкие буквы, отрицательные - национальные символы, если теже значения рассматривать как unsigned char? 0-127 англицкие символы 128-255 национальные символы. А теперь вперед и с песней
...
Рейтинг: 0 / 0
сортировка символов
    #34972385
MeGG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
по моему мы недопонимаем друг друга..привожу аналог того что я хочу узнать.. (на Delphi):функция Ord позволяет определить код символа,который передается ей в качестве параметра..например в результате выполнения k:=Ord('*') переменная k будет содержать значение 42 - код символа '*'.
...
Рейтинг: 0 / 0
сортировка символов
    #34972396
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MeGGint x='*';
ShowMessage(x);
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
сортировка символов
    #34972419
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MeGGнапример в результате выполнения k:=Ord('*') переменная k будет содержать значение 42 - код символа '*'.на си это выглядит так k='*'; – в k будет 42.
...
Рейтинг: 0 / 0
сортировка символов
    #34975216
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MeGGпишу на С++..я перебираю последовательно каждый элемент строки,начиная с первого, и если код какого-либо символа больше чем у следующего,меняю местами..при таком алгоритме будет неправильно сортироваться НЕ английский язык, например русский
...
Рейтинг: 0 / 0
сортировка символов
    #34975532
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MeGG пишет:
> строке..какая существует функция для получения кода символа по самому
> символу..и наоборот...т.к. я думаю решить эту задачу методом пузырька..


Символ и его код - это одно и то же.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
сортировка символов
    #34976051
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ёш MeGGпишу на С++..я перебираю последовательно каждый элемент строки,начиная с первого, и если код какого-либо символа больше чем у следующего,меняю местами..при таком алгоритме будет неправильно сортироваться НЕ английский язык, например русский
Ага в кодировке KOI-8? Да еще неживая буква Ё будет впереди планеты всей
...
Рейтинг: 0 / 0
сортировка символов
    #34993819
MeGG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вобщем вот что я понаписал..:

#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
#include <stdio.h>
#include <string.h>
#include <iostream.h>
int main(int argc, char* argv[])
{
char s[256]="";
int j,i,buf;
scanf("%s",&s);
if(s!="")
{
for(i=0;i<=(strlen(s)-1);i++)
{
for(j=1;j<=(strlen(s)-1);j++)
{
if(s[j]>s[j+1])
{ buf=s[j];
s[j]=s[j+1];
s[j+1]=buf;
}
}
}
printf("%s",s);
}
else
printf("");
return 0;
}

сортирует...но строку обрезает...т.е. не все символы...выводит только 9 символов,в любом случае(кроме когда меньше 9 или вобще пустая строка)..
подскажите что не так?
...
Рейтинг: 0 / 0
сортировка символов
    #34993986
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
j<=(strlen(s)-2)
...
Рейтинг: 0 / 0
сортировка символов
    #34994113
MeGG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогло,спасибо..но проверяющая система не принимает...предел времени...кто нибудь может предложить более эффективеый алгоритм?чтобы быстрее работала....?
...
Рейтинг: 0 / 0
сортировка символов
    #34994129
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MeGGя думаю решить эту задачу методом пузырька..

Это не пузырек, а пузырьки, какие-то... ;)
...
Рейтинг: 0 / 0
сортировка символов
    #34994140
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MeGGПомогло,спасибо..но проверяющая система не принимает...предел времени...кто нибудь может предложить более эффективеый алгоритм?чтобы быстрее работала....?

Для начала, попробуй нормальный пузырек, и убери постоянное вычесление длины строки:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 int len=strlen(s);
 for(i= 0 ;i<=len- 2 ;i++)
   {
      for(j=i+ 1 ;j<=len- 1 ;j++)
     {
        if(s[i]>s[j])
         { buf=s[j];
           s[j]=s[i];
           s[i]=buf;
         }
      }
    }
...
Рейтинг: 0 / 0
25 сообщений из 42, страница 1 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / сортировка символов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]