Твой софтовый форум > Тематические форумы > Программирование

Сортировка строк на С++

Дата публикации: 13.12.2008 - 01:09
Pages: 1, 2, 3
Штуцер
Совершенно согласен с Яхом, одно маленькое "но": разные компиляторы содержат свои собственные библиотеки для работы со строками, поэтому можно включать
CODE
#include <cstring>

или
CODE
#include <cstring.h>

или
CODE
#include <string.h>

или
CODE
#include <string>

хоть что-то, да должно сработать. Верно, Ях?
yah
Верно, можно еще просто подключить windows.h. Тоже компилируется нормально.

З.Ы. Ты первый, кто написал по-русски мой ник. Аж непривычно как-то smile.gif
nvova
Курсач и др., наконец, сдал smile.gif
Вобщем в первом посту у меня правильно. Извиняюсь за беспокойство, ошибка была в другом.

Возник еще такой вопрос:
Искал информацию по блокировке файла на запись при определенных определенных операциях, но инфы куча для Линукса, а как это сделать в винде че-то не нашел. Если можно, объясните примером.
Niuk
Всем привет, есть похожая проблема в с++ чайник полный подскажите плиз как написать функцию сортировки строк в файле.

Вот пример.
Code

#include <fstream.h>  
#include <string.h>  
#include <conio.h>  
#include <iomanip.h>  
#include <stdlib.h>  
#include <io.h>  
#define ID 4  
#define DATA 9  
#define TIME 6  
#define NAME 12
   
struct ychet  
{  
char id[ID];    
char data[DATA];  
char time[TIME];    
char name[NAME];     
};    

void sort();   // Функция сортировки строк из файла с последюущей записью в файл (можно создать новый файл) и выводом на экран.  
{  
что тут писать и по возможности, как это работает?  
};  


Пример файла для сортировки (сортировку произвести по полю id)
Code

1  //id
12.10.07 //data
12-23  //time
Петров  //name
4
12.05.08
14-56
Иванов
2
30.11.07
15-00
Сидоров

Конечный файл
Code

1  //id
12.10.07 //data
12-23  //time
Петров  //name
2
30.11.07
15-00
Сидоров
4
12.05.08
14-56
Иванов
yah
Цитата | Quote(Niuk @ 15.11.2008 - 4:44)
Пример файла для сортировки (сортировку произвести по полю id)
*


А заранее известно кол-во строк в файле?
Niuk
Цитата | Quote(yah @ 18.11.2008 - 19:47)
А заранее известно кол-во строк в файле?
*


Нет, это всеголишь одна из немногих функций из программы работы с БД
То есть программа так же должна пополнять, удалять и отменять изменения в файле, Проводить поиск по заданому полю.
Всё остальное реализовано кроме сортировки.
Как сдам(если сдам) курсовик выложу его в ветке "учимся в месте".
yah
Цитата | Quote(Niuk @ 18.11.2008 - 20:52)
struct ychet 

char id[ID];   
char data[DATA]; 
char time[TIME];   
char name[NAME];   
};
*



Цитата | Quote(Niuk @ 15.11.2008 - 4:44)
Пример файла для сортировки (сортировку произвести по полю id)
*



1. Если я не ошибаюсь, то сортировать по массивам нельзя, отсюда следуют пункты...
2. Поле ID - точно массив?
3. ...Точно типа char?
Niuk
Исходник полностью рабочий компилируется bc++ v3.1
В структуре ychet все поля типа чар. Сортировка нужна по выбранному полю, но для примера подойдет и первое поле id[ID]
» Исходник «
yah
Цитата | Quote(Niuk @ 19.11.2008 - 3:54)
В структуре ychet все поля типа чар. Сортировка нужна по выбранному полю, но для примера подойдет и первое поле id[ID]
*


Смотри, допустим даны числа 1 3 5 2. Чтобы их отсортировать (например по возрастанию), нужно их сравнить между собой... А если вместо чисел - массивы? Как тогда? Как ты определишь что, например, массив А больше массива Б ? Скорее всего поле ID должно быть простого типа (int например)...
yah
Принимай, только я бы на твоем месте, прежде чем использовать, все перепроверил бы раз 10 smile.gif

» Нажмите, для открытия спойлера | Press to open the spoiler «

Pages: 1, 2, 3


Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке: Сортировка строк на С++
SoftoRooM © 2004-2024