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

Ввод текста на С, его обработка. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Програмирование на С++ разветляющихся вычислительных процессов http://www.cyberforum.ru/cpp-beginners/thread224772.html
Помогите бедной девушке решить задачку на С++,сама не справляюсь!:cry: Выяснить, у какого из трех прямоугольных треугольников площадь больше: ● гипотенуза c, угол a ; ● катет a , прилежащий угол...
C++ Структуры Вот задание ... Написать программу для обработки информации о поездах. Информация включает в себя: Номер поезда. Станция отправления. Станция назначения. Время отправления. Время прибытия.... http://www.cyberforum.ru/cpp-beginners/thread224766.html
Решите пожалуйста C++
Помогите решить задачу пожалуйста и сделать блок-схему Багаж пассажира характеризуется количеством вещей и их общим весом. Дан файл Bagazh, содержащий сведения о багаже нескольких пассажиров. ...
Создание файла XML и выгрузка в него данных C++
Доброго времени суток. По ключевому слову XML поиск результатов не дал, поэтому очень надеюсь, что не клонировал топик. Вообщем, суть такая в MSS c++ необходимо выгружать кое-какие данные в...
C++ Программирование на С++ с использованием классов. Массивы объектов. Наследование http://www.cyberforum.ru/cpp-beginners/thread224730.html
Создать класс окружность, член класса - R. Предусмотреть в классе методы вычисления и вывода сведений о фигуре – площади, длины окружности. Создать производный класс – круглый прямой цилиндр с...
C++ Нарисовать фигуру. Полукруг. Всем привет. Осталась одна последняя лаба. Она очень сложная(для меня). Мы сделали эту фигуру, но она очень большая...Изменяя координаты, она либо теряет форму, либо ничего не изменяет... Так как... подробнее

Показать сообщение отдельно
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
06.01.2011, 17:17
Например, можно выкрутиться связным списком.

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
#include <stdio.h>
#include <stddef.h>
#include <string.h>
#include <stdlib.h>
 
typedef struct a_list_item {
  char *data_;
  struct a_list_item *next_;
} ListItem;
 
ListItem *ListPushBack(ListItem **first_element_of_a_list, const char *a_string) {
  ListItem *new_element = malloc(sizeof(ListItem));
  new_element->data_ = malloc(strlen(a_string)+1);
  strcpy(new_element->data_, a_string);
  new_element->next_ = NULL;
  if (*first_element_of_a_list == NULL) {
    *first_element_of_a_list = new_element;
  } else {
    ListItem* last_element = *first_element_of_a_list;
    while (last_element->next_ != NULL)
      last_element = last_element->next_;
    last_element->next_ = new_element;
  }
  return new_element;
}
 
void ListClear(ListItem **first_element_of_a_list) {
  while (*first_element_of_a_list != NULL) {
    ListItem *next_element_of_a_list = (*first_element_of_a_list)->next_;
    free((*first_element_of_a_list)->data_);
    free(*first_element_of_a_list);
    *first_element_of_a_list = next_element_of_a_list;
  }
}
 
int main(int argc, char *argv[]) {
  ListItem *my_string_list = NULL;
 
  char *input_string = malloc(sizeof(char)*1024);
  size_t string_length;
  printf("Input lines. Empty line marks end of input.\n");
  do {
    gets(input_string);
    if ((string_length = strlen(input_string)) > 0)
      ListPushBack(&my_string_list, input_string);
  } while (string_length > 0);
  free(input_string);
 
  ListItem *iterator = my_string_list;
  while (iterator != NULL) {
    printf("%s\n", iterator->data_);
    iterator = iterator->next_;
  }
 
  ListClear(&my_string_list);
  int key;
  scanf("%d", &key);
  return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru