IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Работа с файлами и списками, Си
сообщение
Сообщение #1


Гость






Здравствуйте.
Стоит такая задача: в файле записаны строки, эти строкиа надо разбить на слова и слова записать в списки, т.е. собственно списки идут друг за другом, надо реализовать добавление слов в эту последовательность с конца и с начала, т.е. сначала перейти в последний список и заложить туда элемент и потом идти к первому, в другом случае начать с первого и идти до последнего списка..... Вот так. Прозьба Выполнить на Си, компилтор желателен VS.

Заранее благодарю
С уважением.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 2)
сообщение
Сообщение #2


Гость






Попробуй прогнать вот это:
#include <stdio.h>
#include <alloc.h>

typedef char *T;

typedef
struct node {
T value;
struct node *next;
} *List;

List create_node(T val) {

List p = (List)malloc(sizeof(struct node));
p -> value = (char *)malloc(strlen(val)+1);
strcpy(p -> value, val);
p -> next = NULL;

return p;

}

List Init(List *L) {

return *L = NULL;

}

List insert(T val, List L) {

List p = create_node(val);
p -> next = L;
return p;

}

void printlist(List L) {

printf("\n");
for(; L != NULL; L = L -> next)
printf("%15s", L -> value);
}


List append(T val, List L) {
List head;
if(!L) {
L = create_node(val);
return L;
}
else {
head = L;
while(L -> next != NULL) L = L -> next;
L -> next = create_node(val);
return head;
}
}

int main(void) {

FILE *f;
char s[200], *p, *delimiter = "\n .,!?";
List L;

Init(&L);

f = fopen("text700.txt", "rt");
while(!feof(f)) {

fgets(s, 200, f);
p = (char *)strtok(s, delimiter);
while(p) {
L = append(p, L);
p = (char *)strtok(NULL, delimiter);
}

}
printlist(L);
/*
Не забудь удалить содержимое списка !!!
*/
return 0;
}


Сообщение отредактировано: Алена -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Спасибо, попробую.... компилятор будет уже только собственно на занятиях потому там и прогоню...если будет не сложно нет ли возможности добавить комментари для лучшего понимания программы....
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 4:23
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name