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

Удаление элеметов динамического массива - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ побитовая операция http://www.cyberforum.ru/cpp-beginners/thread726669.html
Вычислить, объяснить результат выражения, используя поразрядные операции, для заданных значений целых переменных a, b, c. a+b*c a = 1, b = 0, c = 1; a = 0, b = 1, c = 0; a = 1; b = 1; c = 1.
C++ Строки (найти и поменять местами пару слов, у которых первые три буквы одного совпадают с...) Дана последовательность символов S1, …, SN. Группы символов, разделенные пробелом (одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами. В последовательности из 10 пятибуквенных слов найти и поменять местами пару слов, у которых первые три буквы одного совпадают с последними тремя буквами другого. Добавлено через 18 часов 39 минут up up up http://www.cyberforum.ru/cpp-beginners/thread726646.html
В фаил записываются не верные данные C++
Почему мне в файл записывает не только я введу, а это: 慖楳楬䌀湡散r㐱글潂摧湡吀畡畲s㌲글湁牤祩䜀浥湩i㐱글 #include <iostream> #include <iomanip> #include <ctime> #include <cctype> #include <string.h> #include <conio.h> #include <locale.h> #include <stdlib.h>
C++ Во всех словах, имеющих нечетное количество символов, удалить средний символ.
Дана строка символов. Изменить строку – во всех словах, имеющих нечетное количество символов, средний символ удалить.
C++ С++ Программа с функцией , нужны варианты написание задачи http://www.cyberforum.ru/cpp-beginners/thread726611.html
С++ Программа ,Функции , Варианты написание программы Можно ли эту программу записать немного иначе , даже не знаю как сказать , просто начали придираться к тонкостям)) вроде хотят чтобы функция уже в начале программы записывалась . И вообще есть какие либо варианты написания данной программы ? Функция , которая вводит с клавиатуры последовательность целых чисел и после ввода последнего...
C++ Расположены ли минимальный и максимальный элементы в разных половинах массива Написать программу решения задачи). При разработке программы использовать контейнерный класс vector и средства раздела алгоритмов. Программу разработать в консольном режиме. Для одномерного массива вещественных чисел определить, расположены ли минимальный и максимальный элементы в разных половинах массива. У меня нет никаких идей( подробнее

Показать сообщение отдельно
NewbieHere
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 10
10.12.2012, 20:24     Удаление элеметов динамического массива
Всем привет.
Задаю двумерный динамический массив.
Необходимо исключить из массива столбцы и строки, по какому-либо признаку.

Вот пример по количеству четных и нечетных элементов, что не так? Пока только для строк, для столбцов идей еще нет, пока со строками не разберусь


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
#include "stdafx.h"
#include <iostream>
#include <iomanip>  
#include <stdlib.h>
#include <time.h>
 
using namespace std;
 int D;
 
void print_matrix(int **mtx, int N, int M)
{
    for(int i = 0; i < N; i++)
    {
        for(int j = 0; j < M; j++)
            cout << setw(4) << mtx[i][j] << " ";
 
        cout << endl;
    }
}
 
void fill_matrix(int **mtx, int N, int M)
{
    for(int i = 0; i < N; i++)
        for(int j = 0; j < M; j++)
            mtx[i][j] = rand() % 1000;
}
 
int matrix_operations (int **mtx, int N, int M)
{ 
    
    int ne4=0,chet=0;
    for(int i = 0; i < N; i++)
    {
        for(int j = 0; j < M; j++)
        {
                if (mtx[i][j]%2==1) ne4+=1 ;
            else chet+=1;
        }   
        
            
                
    
            if ((chet>ne4)&&(i!=N))
            {
                for (int k=i;k<N;k++);
                {
                memmove((void**)mtx[i],(void**)mtx[i+1],(M)*sizeof(int));
                
                N=N-1;
                mtx= (int **)realloc((void *)mtx,N*sizeof(int));
 
                }
                
            
            }
            ne4=0;chet=0;
            cout<<endl<<N;
    }
                D=N;
                    return(**mtx);
}
int main()
{
    srand((unsigned)time(NULL));
    
    int     N = 0, M = 0;
 
    while(N == 0)
    {
        cout << "Enter number of rows: "; 
        cin >> N;
    }
 
    while(M == 0)
    {
        cout << "Enter number of columns: "; 
        cin >> M;
    }
 
    int     **mtx = (int**) malloc(N*sizeof(int*));
 
    if(mtx == NULL)
    {
        cout << "Error: cannot allocate memory" << endl;
        return -1;
    }
 
    for(int i = 0; i < N; i++)
    {
        mtx[i] = (int*) malloc(M*sizeof(int));
 
        if(mtx[i] == NULL)
        {
            cout << "Error: cannot allocate memory" << endl;
            return -1;
        }
    }
 
    fill_matrix(mtx, N, M);
 
    print_matrix(mtx, N, M);
    matrix_operations (mtx,N,M);
    cout << endl<<D<<endl;
 
    print_matrix(mtx, D, M);
    cout<<endl;
    cout << D;
 
 
    for(int i = 0; i < N; i++)
        free(mtx[i]);
 
    free(mtx);
 
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru