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

Динамическая память массивы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Количество обращений к HDD http://www.cyberforum.ru/cpp-beginners/thread1517345.html
пусть есть for ( int i = 0 ; i < 1000 ; i = i + 1 ) { file.write( reinterpret_cast<const char*>(&i), sizeof(i) ); }сколько будет обращений к винту - через буфер, несколько раз, или будет дергать 1000 раз?
C++ Функция транспонирования матрицы Тема неоднократно поднималась, прошу прощения, но всё же я очень начинающий на с++, и написал всё вроде просто, но он ни в какую не транспонирует, подскажите, что не так. Буду очень благодарен. #include <iostream>; #include <clocale>; using namespace std; void printAr(int Ar, int n, int m) { for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) http://www.cyberforum.ru/cpp-beginners/thread1517311.html
Как считывать матрицу из файла? C++
Как можно считать матрицу из файла по столбикам? Понятия не имею как можно это сделать, а надо. Матрица как на прикрепленном изображении. Заранее спасибо.
C++ Ошибка завершения программы после "return 0"
stdafx.h #include <iostream> #include <fstream> #include <string> using namespace std; #include "Student.h" Student.h #include "stdafx.h" struct StudentRecord
C++ Адаптер функции bind() http://www.cyberforum.ru/cpp-beginners/thread1517219.html
Читаю у Липпмана про адаптер bind, ...какие-то знакоместа. Компилятор на них ругается, я тоже. Вывести тип на создаваемый объект он тоже не может, пример из книги. #include <iostream> #include <functional> using namespace std; bool check_size(const string &str, string::size_type sz){ return str.size() < sz; } int main(){
C++ Неверное преобразование типов int i = 1 ; unsigned char ii ; ii = static_cast<unsigned char> i ; как правильно преобразовать? подробнее

Показать сообщение отдельно
anti-k
 Аватар для anti-k
226 / 74 / 23
Регистрация: 17.07.2015
Сообщений: 774
Завершенные тесты: 1
20.08.2015, 09:52     Динамическая память массивы
В моем примере создаются 4 массива, в arr2[n] и arr3[n] сохраняются результаты совпадений/ не совпадений соответственно. new int создает массив размером int n, хотя полностью размер не используется, можно ли менять размер динамического массива после его создания и как?
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
#include<iostream>//hometask 2
#include<windows.h>
#include<ctime>
 
using namespace std;
void input(int*,int);
int check_match(int*,int*,int*,int);
int check_no_match(int*,int*,int*,int);
void output(int*,int);
 
int main(){
    const int n=10;
    srand(time(0));
    
    int* arr=new int[n];
    int* arr1=new int[n];
    int* arr2=new int[n]();
    int* arr3=new int[n]();
     
    input(arr,n);
    
    input(arr1,n);  
    
    int l=check_match(arr,arr1,arr2,n);
    cout<<"Array with matches "<<endl;
    output(arr2,l);
    
    int k=check_no_match(arr,arr1,arr3,n);
    cout<<"Array with mismatches "<<endl;   
    output(arr3,k);
   
    
    delete [] arr;
    delete [] arr1;
    delete [] arr2;
    delete [] arr3;
    system("pause");
    
    return 0;
}
void input(int* arr,int n){
    for(int i =0;i<n;i++){
        arr[i]=rand()%n;
        cout<<" "<<arr[i];
    } 
    cout<<endl;
}
 
int check_match(int* arr,int* arr1,int* arr2,int n){
    int size=0,counter=0;
    for(int i=0;i<n;i++){
        for(int k=0;k<i;k++){
            if(arr[k]==arr[i])
            counter++;      
            }
            if(counter==0){
                
                for(int j=0;j<n;j++){
                    if(arr[i]==arr1[j]){                    
                    arr2[size]=arr[i];
                    size++;
                    break;
                    }
                }
                
            }
            
    counter=0;
    }
    return size;
}
 
 
int check_no_match(int*arr,int*arr1,int*arr3,int n){
    int size=0,counter=0,counter1=0;
    for(int i=0;i<n;i++){
        for(int k=0;k<i;k++){
            if(arr[i]==arr[k]){
                counter++;
            }
        }
        if(counter==0){
            for(int j=0;j<n;j++){
                if(arr[i]==arr1[j])
                counter1++;
                
            }
            if(counter1==0){
                arr3[size]=arr[i];
                size++;
            }
            counter1=0;
        }
        
        counter=0;
    }
 
    counter=0;
    counter1=0;
    for(int i=0;i<n;i++){
        for(int k=0;k<i;k++){
            if(arr1[i]==arr1[k]){
                counter++;
            }
        }
        if(counter==0){
            for(int j=0;j<n;j++){
                if(arr1[i]==arr[j])
                counter1++;
                
            }
            if(counter1==0){
                arr3[size]=arr1[i];
                size++;
            }
            counter1=0;
        }
        
        counter=0;
    }
    return size;
}
 
void output(int*arr,int size){
    for(int i=0;i<size;i++){
        cout<<" "<<arr[i];
    }
    cout<<endl;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru