Добро пожаловать, гость
:: алгоритмы  и методы :: :: олимпиадные задачи :: :: связь :: :: о сайте :: :: форум ::

Форум работает в режиме архива, только для чтения и поиска.
Архив 2004 Архив 2007 Архив 2013

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.05.2008, 23:31
Миха

 
Сообщений: n/a

вопрос по программе
помогите пожалуйста с прогой:
Написать программу, считывающую символьный файл в динамическую память целиком построчно, формируя массив указателей на строки. Отсортировать строки по количеству слов по убыванию.
у меня вопрос по считыванию в динам память и формированию массива
  #2  
Старый 08.05.2008, 08:40
гость

 
Сообщений: n/a

Сообщение от Миха Посмотреть сообщение
у меня вопрос по считыванию в динам память и формированию массива
Ну и какой у тебя вопрос?

Если "как это сделать", то ты забыл указать язык программирования.
  #3  
Старый 08.05.2008, 18:29
Миха

 
Сообщений: n/a

да как это сделать язык С
  #4  
Старый 09.05.2008, 00:31
гость

 
Сообщений: n/a

Например так, если известно максимально допустимое число строк и размер каждой строки:
Код:
#include <stdio.h>
#include <string.h>

#define MAXLINESIZE 10000
#define MAXLINES 10000

char *result[MAXLINES];
int N;

char buffer[MAXLINESIZE+1];

int main()
{
    N = 0;
    for (;;) {
	gets(buffer);
	result[N++] = strdup(buffer);
    }
    /* ... */

    return 0;
}
  #5  
Старый 09.05.2008, 09:52
гость

 
Сообщений: n/a

в том и прикол, что надо определить размер файл и выделить под него память, определение размера функцией fseek, сначала ставим ее в конец файла, потом в начало, так получаем размер
  #6  
Старый 09.05.2008, 10:33
гость2

 
Сообщений: n/a

Можно и так, но это будет работать только с дисковыми файлами.
А если вход идет из какого-нибудь более экзотического места (pipe, socket, или символьное устройство), то fseek делать нельзя, да и другими способами размер заранее тоже нельзя получить.

В этом случае можно организовать растущий массив. Обычно делается так, что когда текущий буфер переполняется, выделяется новый (через realloc), с вдвое большим размером.
 


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по деревьям seregarem Поиск и обсуждение книг/сайтов 1 09.04.2008 10:41
вопрос по БПФ SEreGA Обработка изображений, звук, графика 1 03.12.2007 11:00
Вопрос по ДСТ NepsteR Математические алгоритмы (другое) 1 21.07.2007 18:19
вопрос по обработке. Роман Обработка изображений, звук, графика 1 17.03.2007 17:16
вопрос по фурье преобразованию. Kate Ovechkina Математические алгоритмы 22 07.12.2006 09:00