File cpp Author smacker Created on 26 Май 2009 19 49 include stdlib in

 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
/*
* File: 4.cpp
* Author: smacker
*
* Created on 26 Май 2009 г., 19:49
*/
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <iostream>
using namespace std;
int* create_array(int size) // функция для создания массива
{ // принимает число - размер массива, возвращает указатель на него
srand(time(NULL)); // инициируем генератор случайных числе текщем временем
int *array = new int[size]; // собственно создаём массив
for (int i = 0; i < size; i++) // пробегаемся циклом по нему
{
array[i] = rand() % 50; // присваивая каждому элементу число от 0 до 50
}
return array; // возвращем указатель
}
void print_array(int *array, int size) // функция для отображения массива
{ // принимает указатель на массив и его размер
for (int i = 0; i < size; i++)
{
cout << array[i] << "\t"; // выводи разделяя элементы табом
}
cout << endl; // перенос строки
}
int* delete_items(int *array, int &size)
{ // принимает указатель на массив и указатель на размер
int newsize;
if (size>5){
newsize = size - 5;
}
else {
int *newarray = new int[0];
return newarray;
}
int *newarray = new int[newsize];
int j = 0;
for (int i = 5; i < size; i++)
{
newarray[j] = array[i];
j += 1;
}
size = newsize;
return newarray;
}
int* add_items(int *array, int &size)
{
int newsize = size + 3;
int *newarray = new int[newsize];
for (int i = 0; i < size; i++) // копируем массив
{
newarray[i] = array[i];
}
for (int i = size; i < size+3; i++) // добавляем новые элементы
{
newarray[i] = rand() % 50;;
}
size = newsize;
return newarray;
}
int main(int argc, char** argv) {
int size;
cout << "Enter size of array: "; // просим ввести число элементов
cin >> size; // ну и считываем его в size
int *array = create_array(size);
print_array(array, size);
array = delete_items(array, size);
print_array(array, size);
array = add_items(array, size);
print_array(array, size);
return (EXIT_SUCCESS);
}