Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2011, 16:15   #1
Lervil
 
Регистрация: 27.04.2011
Сообщений: 3
По умолчанию C++/классы/сортировка по ASCII-коду

Добрый день.

Задание:
Составьте класс для работы с файлом. В класс необходимо включить путь к файлу, его размер в байтах, а также преду*смотреть следующие методы:
1.открытие файла для чтения;
2.последовательное чтение данных из файла;
3.сортировку символов файла по возрастанию ASCII-кода.

В общем, основное все сделал. Только застрял на сортировке. Не соображаю как дальше...нужно как-то сделать, чтобы программа сортировала не сами символы, а их ASCII-коды, а мы видели только символы.

Код:
#include<iostream>
#include<string.h>
#include<stdio.h>

using namespace std;

class file
{
public:
       int d;
       file() {int t;
               FILE *fp=fopen("/home/lervil/file","r");
	       char a[100];
               fgets(a,100,fp);
               size(a);       
	       sort(a);
}


void size(char* a)
{int t;
 t=strlen(a);             
 cout<<" Size of " << t << " byte "<<endl;
 d=t;
 }


void sort(char* a)
{int z;
 for(int j=0;j<d;j++)
 while(a[j]>a[j+1]){
 for(int i=0;i<d;i++)
                       {if(a[i]>a[i+1]){
					z=a[i+1];
					a[i+1]=a[i];
					a[i]=z;
					}
}}
for(int i=0;i<d;i++)
{cout<<"Sort by ASCII"<< " " << char(a[i])<<endl;}
}};

int main()
{
 file a;
 return 0;
}
Заранее благодарю за помощь.
Lervil вне форума Ответить с цитированием
Старый 27.04.2011, 16:19   #2
WebbMan
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 168
По умолчанию

Не то?
http://www.makak.ru/2008/03/17/kak-p...-simvola-na-c/
WebbMan вне форума Ответить с цитированием
Старый 27.04.2011, 16:45   #3
RUSt88
Участник клуба
 
Регистрация: 29.12.2009
Сообщений: 1,166
По умолчанию

а char - это что вам такое??? char - это однобайтовое число, вы таблицу аски видели вообще?
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть]
RUSt88 вне форума Ответить с цитированием
Старый 28.04.2011, 02:04   #4
Lervil
 
Регистрация: 27.04.2011
Сообщений: 3
По умолчанию

А оно в целом и так работает...оказывается >__< но теряет один символ. т.е. например в слове SticH он их рассортирует так - C H пустое_место_почему_не_знаю S i.
Вот знать бы почему...
Lervil вне форума Ответить с цитированием
Старый 28.04.2011, 02:10   #5
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

Цитата:
нужно как-то сделать, чтобы программа сортировала не сами символы, а их ASCII-коды, а мы видели только символы.
открою вам секрет - это 1 и то же.
для компьютера не существует буквенных символов как таковых. для него есть только их числовое (двоичное) представление. и по нему и будет сортироваться.
onewho вне форума Ответить с цитированием
Старый 28.04.2011, 02:24   #6
Lervil
 
Регистрация: 27.04.2011
Сообщений: 3
По умолчанию

Спасибо, запомню. Только вопрос про символ все равно никуда не пропал -__-'
Lervil вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
коментарии к коду С++ dymych Помощь студентам 0 09.11.2010 16:35
Комментарий к коду Гость2010 Помощь студентам 3 17.06.2010 10:13
комментарии к коду leahov Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 09.06.2009 13:09
Комментарии к коду Juhn Паскаль, Turbo Pascal, PascalABC.NET 6 24.12.2007 20:29