Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Библиотека для генерации CHM файла https://www.cyberforum.ru/ cpp-beginners/ thread856025.html
Есть ли такая?
C++ Как выполнить задержку консоли
Есть программа // Arith_adapt.cpp : Defines the entry point for the console application. // /* Д. Мастрюков, "Монитор", N1, 1994. Алгоритмы сжатия информации Часть 2. Арифметическое кодирование
C++ Продолжение строки https://www.cyberforum.ru/ cpp-beginners/ thread856009.html
Как в с++ продолжить писать в строке, пример cin>>a; cout<<" - its chislo a"; должно написать так: 3 - its chislo a
C++ Как установить соединение с другим компьютером? В C++ есть функция system(), которая выполняет тоже самое, что если открыть консоль и выполнить там одну из консольных команд (например cls или color и т. д.) Меня интересуют два вопроса: 1. Как установить соединение с другим компьютером при помощи функции system() 2. Как при помощи функции system() отправить печать на принтер. (Когда я отправляю команду принтеру печатать фаил, он пишет "Фаил... https://www.cyberforum.ru/ cpp-beginners/ thread856002.html
C++ Определить количество уровней дерева и вычислить сумму значений узлов на каждом уровне
Делаю лабораторную по С++ а там задание: Считав числовые значения из текстового файла, построить произвольное дерево, каждый узел которого будет любое количество дочерних узлов. - Определить количество уровней дерева. - Вычислить сумму значений узлов на каждом уровне и в крайнем слева и крайнем дело поддерева. Я смог сделать что бы считывалось из файла и помещалось в дерево значения. Как...
C++ Преобразование int к char Вот код #include <stdio.h> #include <math.h> #include <iostream.h> #include <cstdio> #include <fstream> #include <cstdlib> #include <string> using namespace std; #include <stdlib.h> https://www.cyberforum.ru/ cpp-beginners/ thread855982.html
C++ Ошибка в проекте https://www.cyberforum.ru/ cpp-beginners/ thread855973.html
Данная программа должна считать количество прямоугольников площадь которых больше средней и количество кубов ,но почему то вылетает ошибка при вводе количества параллелепипедов хотя при вводе количества прямоугольников все хорошо ,а код одинаков.И еще почему программа работает не корректно так как считает не все прямоугольники а только последний и на основание него пишет результат. Помогите...
Программа выдает одну и ту же ошибку C++
Программа выдает одну и ту же ошибку Parameter argc/argv never used Как ее исправить? Программный код на С++ написанный в Borland 3.1 #include <stdlib.h> #include <iostream.h> #include <iomanip.h> int **createMatrix(int size) {
C++ Не работает программа Раньше я программировал на планшете, но сейчас попробовал в DEV-C++. Сделал программу, откомпилировал, пробую запустить, а окно программы открывается, и сразу закрывается... Что делать? Я а планшете запускал,там всё работает... #include <iostream> #include <math.h> using namespace std; int main() { system("cls"); https://www.cyberforum.ru/ cpp-beginners/ thread855962.html C++ Значение оператора return https://www.cyberforum.ru/ cpp-beginners/ thread855949.html
Прочитал про оператор return, но не очень понятно про его. Как он используется ниже (объясните), может после этого примера что-либо прояснится относительно return. #include <stdio.h> #include <conio.h> int MinMax (int a, int b, int Max) //a, b, c - это формальные параметры. { if (a > b) {Max = a; return b;} else {Max = b; return a;} }
Игра [Крестики Нолики] C++ C++
Всем привет. Возможно кому-то пригодится исходный код игры . Все очень просто и легко. Компилятор Borland C++ Builder 6. #pragma hdrstop #include <iostream> #include <fstream> #include <conio.h> #include <cstring.h> #include <string.h> #include <Windows>
C++ Выбрать четыре различные точки первого множества так, чтобы квадрат с вершинами в этих точках накрывал все точки второго множества и имел минимальную https://www.cyberforum.ru/ cpp-beginners/ thread855945.html
Помогите решить задачу.Язык С++. Даны два множества точек на плоскости. Выбрать четыре различные точки первого множества так, чтобы квадрат с вершинами в этих точках накрывал все точки второго множества и имел минимальную площадь.
numin
0

запутался со списком - C++ - Ответ 4510078

04.05.2013, 23:08. Показов 464. Ответов 1
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток! Помогите пожалуйста разобраться, я сделал класс spisok , в нем несколько нужных мне структур и методов, покторые позваоляет работать со списком(там где ключ, значение, не помню точно как он называется). struct list *l = p.new_list(); ошибку мне компилятор выдает в этой строчке (здесь она номер 122), говоря что я не могу такое значение использовать для инициализации сущности. Заранее благодарю за любую оказанную помощь, ниже привожу текст программы :


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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
#include <stdio.h>
#include <string.h>
#include <malloc.h>
#include <iostream>
using namespace std;
typedef int mkey_t;  // Тип ключа
typedef int value_t; // Тип значения
class spisok
{
public:
struct li {
   mkey_t key;
   value_t value;
   struct li* next;
};
 
struct list {
   struct li *first;
   int size;
};
 
struct list *new_list() {
   struct list *res = (struct list*) malloc(sizeof(struct list));
   res->first = NULL;
   res->size = 0;
   return res;
}
 
struct li* new_list_item(void) {
    struct li *res = (struct li*) malloc(sizeof(struct li));
    res->next = 0;
    return res;
}
 
void delete_items(struct li* it) {
   if ( it ) {
      if ( it->next ) {
         delete_items(it->next);
      }
      free( it );
   }
}
 
void delete_list(struct list *l) {
   if ( l ) {
      delete_items( l->first );
      free ( l ); 
   }
}
 
int insert_item( struct list *l, mkey_t key, value_t value ) {
   struct li *it = new_list_item();
   if ( it == NULL ) return 0;
   it->key = key;
   it->value = value;
   it->next = l->first;
   l->first = it;
   l->size++;
   return 1;
}
 
int insert_item_uniq( struct list *l, mkey_t key, value_t value ) {
   if ( l ) {
      struct li *it;
      for ( it = l->first; it != NULL; it = it->next ) {
         if (it->key == key) {
            it->value = value;
            return 1;
         }
      }
      return insert_item(l, key, value);
   
   } else {
      return 0;
   }
}
 
int delete_item( struct list *l, mkey_t key ) {
   struct li *it, *prev_it = 0;
   for (  it = l->first; it != NULL; prev_it = it, it = it->next ) {
      if ( it->key == key ) {
         if ( prev_it != 0 ) 
            prev_it->next = it->next;
         else
            l->first = it->next;
         free( it );
         l->size--;
         return 1;
      }
   }
   return 0;
}
 
void print_list ( struct list *l ) {
   struct li *it;
   printf( "Size=%d\n", l->size );
   for ( it = l->first; it != NULL; it = it->next ) {
      printf("(%d,%d) -> ", it->key, it->value);   
   }
   printf( "NULL\n" );
}
 
int find_item( struct list *l, mkey_t key, value_t *value) {
   struct li *it;
   for ( it = l->first; it != NULL; it = it->next ) {
      if ( it->key == key ) {
         *value = it->value;
         return 1;
      }
   }
   return 0;
}
};
 
void main()
{
    spisok  p;
    
   char cmd[1024];
   
   struct list *l = p.new_list();          //проблема в этой строчке
 
      fgets( cmd, sizeof(cmd), stdin );
      if ( strncmp( cmd, "ADD", 3 ) == 0 ) {
         mkey_t key;
         value_t value;
         if( sscanf(cmd + 3, "%d%d", &key, &value) == 2 ) {
            p.insert_item_uniq(l, key, value );
         } else {
            printf("Bad arguments: %s\n", cmd+3);
            printf("Usage: ADD <key> <value>\n");
         }
      } else if ( strncmp( cmd, "DEL", 3 ) == 0 ) {
         mkey_t key;
         sscanf(cmd + 3, "%d", &key );
         p.delete_item( l, key );
      } else if ( strncmp( cmd, "PRINT", 5) == 0 ) {
         p.print_list( l );
      } else if ( strncmp( cmd, "FIND", 4) == 0 ) {
         mkey_t key;
         value_t value;
         sscanf( cmd + 4, "%d", &key );
         if ( p.find_item( l, key, &value ) ) {
            printf("Value = %d\n", value);   
         } else {
            printf("Not found\n");
         }
      }
   }


Вернуться к обсуждению:
запутался со списком C++
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.05.2013, 23:08
Готовые ответы и решения:

запутался со списком, нужна середина)
Всем привет! Немного затрудняюсь сделать( собственно вот задание: а) написать функцию, которая...

Как реализовать работу со списком строк и списком цифр в классе List?
Добрый день! Проблема такая Есть класс-список: #include &quot;stdafx.h&quot; #include &lt;iostream&gt;...

Как сделать цикл со списком имен файлов и списком для их переименования
Здравствуйте, прошу помощи уважаемые форумчане. Есть файлы с определенными названиями в разных...

Вывод записей в поле со списком в зависимости от другого поля со списком
Уважаемые асы access, помогите пожалуйста! Сразу хочу признаться, я совсем чайник, только...

1
04.05.2013, 23:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.05.2013, 23:08
Помогаю со студенческими работами здесь

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

Фильтрация поля со списком в зависимости от двух других полей со списком
Добрый день, коллеги Появилась потребность сделать форму на Аксесе. Прошерстил весь форум в...

Десятичное число, представленное списком десятичных цифр, представить списком двоичных разрядов
Всем доброго времени суток, необходимо в Visual Prolog представить десятичное число в виде списка...

Нужны задачки для упражнения в работе со списком, стеком, очередью и двусвязным списком
Недавно научился строить список, стек, очередь, двусвязный список в С++, что бы закрепить навыки...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru