Форум программистов, компьютерный форум CyberForum.ru

Считать текст из файла и вывести на экран слова из него в алфаыитном порядке - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти 3 крайние точки множества и соеденить линиями http://www.cyberforum.ru/cpp-beginners/thread405879.html
#include<conio.h> #include<stdlib.h> #include<math.h> #include<graphics.h> #include<fstream.h> #define PIXEL_COUNT 100 void init_graph(){ int gr_mode, gr_driver=DETECT;
C++ на циклический вычислительный процесс Рассчитать возможный урожай с поля площадью S(Га) при изменении урожайности от YP0=85(ц/Га) до YPK=187(ц/Га) с шагом ∆Y=5(ц/Га). http://www.cyberforum.ru/cpp-beginners/thread405871.html
Помогите открыть файл через его путь C++
Задача следующая : пользователю предлагается ввести путь до файла ( типа C:\\my_docs\1.txt), ну а прога должна открыть этот файл. Помогите пожалуйста.
C++ помогите написать программы на ветвящийся вычислительный процесс
1. В цехе разлива молочного завода работают две линии по расфасовке продукции. Первая линия - в пакеты емкостью 0,5л, вторая - 1л. Производительность первой - 36 пакетов в минуту, второй - 24 пакета в минуту. Масса партии для разлива может колебаться в диапазоне от 0,78 до 0,93 т. Если масса выпущенной партии меньше 0,83 т, то ее разливают на первой линии, в противном случае – на второй....
C++ Теоретический вопрос по std::map http://www.cyberforum.ru/cpp-beginners/thread405856.html
Всем привет. Подскажите пожалуйста как std::map резервирует память и как в памяти выглядят его элементы(условно). Те. понятно что вектор - состоит из элементов типа распределенных последовательно один за другим. Списки состоят из рандомно распределенных элементов(указатели на соседние элементы и "данных"). Как же выглядит std::map?
C++ Сформировать матрицу по правилу и записать в файл Матрицу К(m, n) заполнить следующим образом. Элементам, находящимся на периферии (по периметру матрицы), присвоить значение 1; периметру оставшейся подматрицы – значение 2 и так далее до заполнения всей матрицы. Записать полученную матрицу в файл. подробнее

Показать сообщение отдельно
xAtom
 Аватар для xAtom
911 / 736 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
13.12.2011, 12:35     Считать текст из файла и вывести на экран слова из него в алфаыитном порядке
Цитата Сообщение от Eugene THE BEST Посмотреть сообщение
Да, если сможете, сделайте в Си, пожалуйста
Вариант при помощи односвязного списка.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <malloc.h>
#define BUFSIZE  32
#define SEPARATORS   " \t,.;:()[]{}-=<>\"'?!+\\/\n"
 
typedef struct list {
    char  buf[BUFSIZE];
    struct list*  next;
} slist;
slist* add(slist* lst, const char* str);
slist* pop(slist* lst);
slist* sort(slist *lst);
 
 
int  main(void) {
  FILE*  fp  = NULL;
  slist* lst = NULL;
  char *ptr, str[512] = {'\0'};
 
  if((fp = fopen("D:\\doc.txt", "r")) == NULL)
       return 1;
 
  while(fgets(str, sizeof(str), fp) != NULL) {
      for(ptr = strtok(str, SEPARATORS); ptr; ptr = strtok(NULL, SEPARATORS)) 
          lst = add(lst, ptr);
  }
  fclose(fp);
 
  lst = sort(lst);
  for(; lst != NULL; lst = pop(lst))
       puts(lst->buf);
  getchar();
  return 0;
}
 
slist* add(slist* lst, const char* str) {
   slist* n = (slist*) malloc(sizeof(slist));
   if(! n)
      return lst;
   strcpy(n->buf, str);
   n->next = lst;
   return n;
}
 
slist* pop(slist* lst) {
   slist* tmp = lst;
   lst = lst->next;
   free(tmp);
   return lst;
}
 
slist* sort(slist *lst) { 
   slist* ea, *eb, *prev;
   slist* tmp = NULL;
                                              
   while(lst != NULL){ 
       ea = lst; 
       lst = lst->next;  
       eb = tmp;
       prev = NULL; 
       while(eb && tolower(ea->buf[0]) > tolower(eb->buf[0])) {
            prev = eb;
            eb = eb->next;
       }
       if(prev == NULL) {
            ea->next = tmp; 
            tmp = ea; 
       } else { 
            ea->next = eb; 
            prev->next = ea; 
       }
 };
 return tmp; 
}
 
Текущее время: 22:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru