Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перегрузка операций в классе! Очень нужно! https://www.cyberforum.ru/ cpp-beginners/ thread69353.html
Перегрузить для класса stroka в теле класса Вычитание строк S1-S1: Из первого слова удалять только соответствующие вхождения буквы второго слова, например: олово – соло = во. Класс stroka: //...
C++ 1) обработка матриц, 2)массивы
Всем привет. Помогите пожалуйста написать программы: 1) Перестановка в обратном порядке элементов столбца, содержащего максимальный элемент матрицы. 2) Дан текст. Напечатать все имеющиеся в нем...
C++ Класс:) https://www.cyberforum.ru/ cpp-beginners/ thread69343.html
#include <iostream> using namespace std; class Vehicle{ int passengers; int mpg; int fuelcap; public: Vehicle(int p,int m,int f){ passengers=p; mpg=m;
C++ ответьте на вопрос привет всем)) у меня такая проблемма: нужно написать программу которая выводит на экран одномерный массив,заполненный произвольно числами от 1 до 9. И ниже строчкой выводит этот же массив... https://www.cyberforum.ru/ cpp-beginners/ thread69340.html
C++ работа с файлами
1/подскажите(пошагово) как создавать exe-шный файл в с++ builder и visual studio 08 ? 2/чтобы входные данные шли из файла ifstreamf(1.TXT); и файл 1.TXT помещаем в папку с exe. так?
C++ в обратном порядке //reverstr.cpp //переворачивает строку #include <iostream> #include <string> //для strlen() #include <locale> using namespace std; int main() https://www.cyberforum.ru/ cpp-beginners/ thread69330.html
C++ Двумерный массив и я - чайник https://www.cyberforum.ru/ cpp-beginners/ thread69327.html
Вот собственно задача: Выполнить перестановку столбцов и строк двумерного массива так, чтобы минимальный элемент приобрел индекс 1.1 (левый верхний). Выводить массив на экран на каждом шаге с...
Учебник по C++. Дейтел. C++
Я - начинающий программист. Мне хотелось бы изучить язык с++, но в скаченном учебнике Дейтлов нерабочие программы. Чтобы исправить одну из них, мне понадобилось 30 мин)) Мне не очень хочется этого...
C++ ООП #pragma hdrstop #pragma argsused //#include "Student.hpp" //#include "Prof.hpp" //#include "Personne.hpp" #include <conio.h> #include <stdio.h> #include <vector> #include <string> https://www.cyberforum.ru/ cpp-beginners/ thread69320.html C++ Linking error https://www.cyberforum.ru/ cpp-beginners/ thread69311.html
Linking... LINK : warning LNK4098: defaultlib "LIBCMT" conflicts with use of other libs; use /NODEFAULTLIB:library Ошибка компиляции 1 проекта на VS6
C++ Обработка строк
С помощью текстового редактора «Блокнот» создать файл, содержащий текст, длина кото¬рого не превышает 400 символов (длина строки текста не должна превышать 70 символов). Имя файла должно иметь...
C++ Файлы и анаграммы Во входном файле input.txt содержаться строка не более 255 символов, в которой через один или несколько пробелов следует слово. Найти все группы анаграмм(слов, составленных из одних и тех же букв) в... https://www.cyberforum.ru/ cpp-beginners/ thread69296.html
2 / 2 / 2
Регистрация: 21.05.2009
Сообщений: 291
0

Динамическое выделение памяти - C++ - Ответ 388804

01.12.2009, 19:42. Показов 932. Ответов 4
Метки (Все метки)

Имеется такая вот задача ! Нужно сделать что бы память выделялась динамически,а не на этапе компиляции!!! Какие будут предложения ???
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
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
#include <iostream>
#include <stdlib.h>
#include <time.h>
 
using namespace std;
 
const int SZ = 5;
 
class Dice{
private:
 int n_kubikov;
 int mas[SZ];
public:
 Dice() {n_kubikov=0;}
 Dice(int);
 Dice(int k, int kk[]);
 friend ostream& operator << (ostream& out, const Dice& d);
 Dice& gen() {
  for(int j = 0; j<n_kubikov; j++)
   mas[j] = rand()%6+1;
  return *this;
 }
 Dice& operator += (int d);
 Dice& operator -= (int d);
 int operator [] (int num) const;
 int sum() const;
 int test() const;
};
 
 
int main(){
 srand(time(NULL));
 Dice b,a(7);
 int array[4] = {-8,5,2,9};
 Dice c(3,array);
 cout << "Kubiki a: " << a << endl;
 cerr << "Kubiki b: " << b << endl;
 cout << "Kubiki c: " << c << endl;
 //c.gen();
 //cout << "Kubiki c: " << c << endl;
 int answer = 0, num;
 do {
  cout << "1. brosit\t";
  cout << "2. dobavit\t";
  cout << "3. izyat\t";
  cout << "4. poluchit ochki\t";
  cout << "5. proverit sovpadeniya\t";
  cout << "0. vykhod" << endl;
  cin >> answer;
  switch(answer) {
   case 1:
   cout << "Rubiki c: " << c << endl;
   c.gen();
   cout << "Rubiki c: " << c << endl;
   break;
   case 2:
   cout << "Kubiki c: " << c << endl;
   cout << "vvedite chislo: ";
   cin >> num;
   c += num;
   cout << "Kubiki c: " << c << endl;
   break;
   case 3:
    cout<< "Kubiki c:"<<c<<endl;
    cout<< "vvedite nomer kubika:";
    cin>>num;
    c -= num;
    cout << "Kubiki c: " << c << endl;
    break;
   case 4:
    cout<<"Kubiki c:"<<c<<endl;
    int s;
    s=c.sum();
    cout<<"Sum="<<s<<endl;
    break;
   case 5:
     int b;
    b=c.test();
    if (b)
    cout<<"sovpadiniya yest"<<endl;
     else
     cout<<"sovpadeniy net"<<endl;
  }
 } while(answer);
 return 0;
}
 
Dice::Dice(int num){
 n_kubikov=num;
 if(n_kubikov<0) {
  cerr << "Invalid set size; assigned 0" << endl;
  n_kubikov = 0;
 }
 
 if(n_kubikov>SZ) {
  cerr << "Invalid set size " << num <<
   "; assigned " << SZ << endl;
  n_kubikov = SZ;
 }
 gen();
}
 
ostream& operator << (ostream& out, const Dice& d) {
 for(int j = 0; j<d.n_kubikov; j++)
  out << d.mas[j] << ' ';
 return out;
}
Dice::Dice(int k, int kk[]){
 n_kubikov = k;
 if(k<0) {
  cerr << "Invalid set size; assigned 0" << endl;
  n_kubikov = 0;
 }
 if(k>SZ) {
  cerr << "Invalid set size " << k <<
   "; assigned " << SZ << endl;
  n_kubikov = SZ;
 }
 for(int j=0;j<n_kubikov;j++) {
  mas[j]=kk[j];
     if(kk[j] <= 0 ) {
   cerr << "Invalid cube value " << kk[j]
    << " replaced 1"<< endl;
   mas[j] = 1;
  }
  if(kk[j] > 6) {
   cerr << "Invalid cube value " << kk[j]
    << " replaced 6"<< endl;
   mas[j] = 6;
  }
 }
}
Dice& Dice::operator += (int p) {
 if(n_kubikov < SZ)  {
  if(p<1) {
   cerr << "Invalid cube value " << p
    << " replaced 1"<< endl;
   p = 1;
  }
  if(p > 6) {
   cerr << "Invalid cube value " << p
    << " replaced 6"<< endl;
   p =6;
  }
  mas[n_kubikov++] = p;
 }
 return *this;
}
 
Dice& Dice::operator -= (int p) {
 if(p<1){
  cerr<<"P stalo 1"<<endl;
  p=1;
 }
   for (int i=0,j=0;i<=n_kubikov;i++){
   // cout<<"i="<<i<<" p="<<p<<endl;
   if(i!=p-1){
   // cout<<"i="<<i<<" mas=";
   // cout<<mas[i]<< endl;
    mas[j]=mas[i];
    j++;
   }
   }
 n_kubikov--;
    return *this;
}
 
int Dice::sum()const{
 int s=0;
 for(int i=0;i<n_kubikov;i++){
  //cout<<"i="<<i<<endl;
  //cout<<"s="<<s<<endl;
  //cout<<"mas[i]="<<mas[i]<<endl;
  s+=mas[i];
 }
 return s;
}
 
int Dice::test()const{
 bool flag = 0;
 for(int i=0;i<n_kubikov-1;i++){
  for(int j=i+1;j<n_kubikov;j++){
   if (mas[i]==mas[j])
    flag=1;
  }
 }
 return flag;
}


Вернуться к обсуждению:
Динамическое выделение памяти C++
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.12.2009, 19:42
Готовые ответы и решения:

Распределение памяти. Динамическое выделение памяти
an-1 an-2 ... a2

Динамическое выделение памяти new
Доброго времени всем :) Недавно начал вникать в прелести c++, однако встретился с неприступной...

Динамическое выделение памяти
Всем здрасти.Если выделять динамически память,например: char *p=new char; и при этом не...

Динамическое выделение памяти
Выполнить задание используя динамическое выделение памяти: Данная целочисленная прямоугольная...

4
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.12.2009, 19:42

Динамическое выделение памяти
Объясните пожалуйста.Не могу понять в чём разница между malloc,calloc/free и new/delete

Динамическое выделение памяти
Добрый день! пытаюсь освоить С++ и дошёл до раздела динамического выделения памяти. Беру пример с...

Динамическое выделение памяти
Создайте динамический массив, хранящий в первой строке имя, а во второй - телефон. Организуйте...

Динамическое выделение памяти.
Доброго времени суток. Помогите, пожалуйста, решить задачу. Задача тривиальна - поиск и замена...

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