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

Обработка структур данных - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ произведение элементов в каждом столбце с нечетным индексом http://www.cyberforum.ru/cpp-beginners/thread279049.html
Доброго времени суток форумчане. Прошу помощи в решении вот этой задачки: 1.Найти произведение элементов в каждом столбце с нечетным индексом и создать из них одномерный массив. Буду очень благодарен =)
C++ Узнать с какими ключами может запускаться программа при компилировании через командную строку нужно вводить всякие параметры, типо gcc -o file.exe file.c мне надо изъять подобную команду для компиляции проекта из MVS есть наверняка какой-нить файл, где хранится эта строка с командой может кто знает где такой файл или как его получить? http://www.cyberforum.ru/cpp-beginners/thread279033.html
C++ Работа с дин.памятью
Помогите, пожалуйста, решить задачу, на Borland C++ : Имеется массив указателей на числа. разместить в памяти n чисел, на которые будет ссылаться этот вектор(ну массив указателей). и написать функцию для нахождения наибольшего из чисел, на которые ссылаются элементы вектора. Заранее благодарен.
C++ Сформулировать квадратную матрицу порядка n по заданному образцу...
Сформулировать квадратную матрицу порядка n по заданному образцу... Создается нулевая матрицы....но как осуществить замену элементов на главной диагонали на эти...надеюсь на помощь.спасибо. #include "stdafx.h" #include "iostream" #include <conio.h> #include <stdlib.h>
C++ что напечатает программа? http://www.cyberforum.ru/cpp-beginners/thread279014.html
что напечатает программа?? #include <stdio.h> main() { int i, a=0; for (i=0;i<10;i++) a++; printf("%d\n", a);} и еще одна программа, тоже задание(что напечатает программа??) #include <stdio.h>
C++ Класс Всем привет. Есть код "Класс комплексных чисел", сразу скажу что писал не я, но сижу в нём разбираюсь. Вопрос мой конечно супер нубский, так что помидорами не кидать)) Вопрос: что делает вот эта часть строчки complex operator +(complex& c) а именно вот эта часть=======================>>complex& c #include <iostream> #include <iomanip> #include <cmath> подробнее

Показать сообщение отдельно
Aye Aye
 Аватар для Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
19.04.2011, 07:59     Обработка структур данных
...
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
struct Books {
   char *name;
   int cost;
   struct Books *next;
};
 
struct Books *make_book(char *name, int c, struct Books *next)
{
   struct Books *b =(struct Books*)malloc(sizeof(struct Books));
   b->name = (char*)malloc(strlen(name) + 1);
   strcpy(b->name, name);
   b->cost = c;
   b->next = next;
   return b;
}
 
void free_books(struct Books **b)
{
  struct Books *next;
  for (; (*b) != NULL; (*b) = next) {
     next = (*b)->next;
     free(*b);
  }
  *b = NULL;
}
 
struct Reader {
   char *address;
   char *first_name;
   char *last_name;
   struct Books *taken_books;
};
 
struct Reader *make_reader(char *addr,char *fname, char *lname, struct Books *books)
{
   struct Readear *r = (struct Reader*)malloc(sizeof(struct Reader));
   r->address = (char*) malloc(strlen(addr) + 1);
   strcpy(r->address, addr);
   // и так далее
   r->taken_books = books;
   return r;
}
void free_raeder(struct Reader **r)
{
   free((*r)->address);
   // и остальные освободить
   free_books((*r)->taken_books);
   free(*r);
   *r = NULL;
}
 
// ну и там дальше...
int main()
{
   struct Reader * readers[100]; // массив из 100 указателей на структуры Reader
   // открываем, читаем файл file
  int i = 0;
  while (!feof(file)) {
     // считываем данные о читателе...
     char addr[256], fname[32], lname[32];
     fscanf(file, "%s %s %s", addr, fname, lname);
     // ... и о книжках
     struct Books *books= NULL;
     int c;
     // пропускаем разделители
     while (!feof(file) && (c = getc(file), c == ' ' || c == '\t' || c == '\n') ) {}
     if (c == '[') {
        do {
           // считываем книжки точно так же, построчно
           char name[256];
           int cost;
           fscanf(file, "%s %d", buff, &cost);
           books = make_book(name, cost, books);
           // пропускаем разделители
           while (!feof(file) && (c = getc(file), c == ' ' || c == '\t' || c == '\n') ) {}
           if (c == ']') // список книг закончился
              break;
           else
              ungetc(c, file);
         } while(1);
     } else {
       // нет списка книжек дальше, books остался == NULL
       ungetc(c, file);
     }
     readers[i] = make_reader(addr, fname, lname, books);
     ++i;
  }
  // i содержит индекс последнего элемента
  // массив заполнен, работать с ним должно быть легко...
 
  // б)
  int j;
  for (j = 0; j < i + 1; ++j) {
     struct Books * some_book = readers[j]->taken_books;
     while (some_book != NULL) {
        // цена превышает 200 р.
        if (200 < some_book->cost) {
            printf("Reader: %s %s takes book %s of %d rubles\n",
                           readers[j]->first_name, readers[j]->last_name, some_book->name, some_book->cost);
        }
        some_book = some_book->next;
     }
  }
 
  // освободить память
  do {
     free_readaer(&readaers[i]);
  } while (i--);
}
Предполагает что файл имеет следующую структуру:
Код
address1 first_name1 last_name1 [ book_name1 price1 bookname2 price2 ]
address2 first_name2 last_name2 [ book_name3 price3 bookname4 price4 ]
address3 first_name3 last_name3 
address4 first_name4 last_name4 [ book_name1 price1 ]
...
: третий не брал книг, а четвертый читатель взял одну, причем такую же что и первый читатель.

Books это связный список.
задание а) сам сделаешь.

П. С. Не компилировал, как работает не знаю.
 
Текущее время: 01:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru