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

Удаление колонки (столбца) из динамического двумерного массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ cannot convert parameter 1 from http://www.cyberforum.ru/cpp-beginners/thread679950.html
Доброй ночи, вот написал програмку, не пойму почему ругается? Если не ошибаюсь нужно выделить память под массив? Но как это правильно сделать? Если не сложно исправьте ошибку плиз.#include <iostream> #include <vector> #include <iomanip> #include <cstdlib> using namespace std; void dno(int **Matrix,int n,int m) {int Check = 0;int collNumber = 0; cout << "First coll's number with zero...
C++ Вывод в таблицу Существуют ли какие-либо средства в C++ для вывода данных в таблицу? В консоль, либо в файл. Использую MS Visual Studio. http://www.cyberforum.ru/cpp-beginners/thread679949.html
Функция для двумерного массива C++
Мне нужно написать функцию или скажите, пожалуйста, правильно ли она составлена в коде /* в каждой строке существуют элементы на нечетных местах нечетные */ bool uslov (int n, int a) { int k=0; for(int i=0; i<n; i++) //перебор по строкам
Напишіть програму, що сортує символи введені з клавіатури рядка в порядку зростання їх номерів в таблиці C++
Помогите
C++ Сжать массив, удалив из него все элементы, модуль которых не превышает 1. http://www.cyberforum.ru/cpp-beginners/thread679931.html
В одномерном массиве, состоящем из 20 вещественных элементов, вычислить: 1) сумму элементов массива с нечетными номерами; 2) сумму элементов массива, расположенных между первым и последним отрицательными элементами. Сжать массив, удалив из него все элементы, модуль которых не превышает 1.
C++ Как описать переменную в классе, тип которой заранее неизвестен? Есть класс , в кот куча всяких методов, все работает, все хорошо. Но есть одно большле НО, у объектов порожденным этим классом заранее неизвестен тип одной переменной (один из 4 классов), можно ли такое реализовать? подробнее

Показать сообщение отдельно
Croessmah
Модератор
Эксперт CЭксперт С++
13051 / 7314 / 814
Регистрация: 27.09.2012
Сообщений: 18,051
Записей в блоге: 3
Завершенные тесты: 1
25.10.2012, 23:15     Удаление колонки (столбца) из динамического двумерного массива
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
#include <iostream>
#include <cstdlib>
#include <random>
using std::cout;
 
int ** DeleleCol(int *** Array, int &x, int nDelCol);
int ** DeleleRow(int *** Array, int x, int &y, int nDelRow);
 
int main()
{
    int n=5,m=4;
    int ** Array;
    Array=new int*[n];
    for(int i=0;i<n;++i)
        Array[i]=new int[m];
 
 
    for(int i=0;i<m;++i){
        for(int j=0;j<n;++j)
            cout<<(Array[j][i]=rand()%100)<<"\t";
        cout<<"\n";
    }
 
    cout<<"\n\n\n";
    Array=DeleleRow(&Array,n,m,m-1);
    for(int i=0;i<m;++i){
        for(int j=0;j<n;++j)
            cout<<Array[j][i]<<"\t";
        cout<<"\n";
    }
 
    cout<<"\n\n\n";
    Array=DeleleCol(&Array,n,n-1);
    for(int i=0;i<m;++i){
        for(int j=0;j<n;++j)
            cout<<Array[j][i]<<"\t";
        cout<<"\n";
    }
    
 
 
    for(int i=0;i<n;++i)
        delete [] Array[i];
    delete [] Array;
system("pause");
}
 
 
 
 
int ** DeleleCol(int *** Array, int &x, int nDelCol){
    int ** tempArray=new int*[--x];
 
    bool bFlag;
    for(int i=0, bFlag=false;i<x;++i){
        if(nDelCol==i) {bFlag=true; delete [] (*Array)[i];}
        tempArray[i]=(bFlag)?(*Array)[i+1]:(*Array)[i];
    }
    delete [] (*Array);
    return (*Array=tempArray);
}
 
int ** DeleleRow(int *** Array, int x, int &y, int nDelRow){
    int * tempArray;
    bool bFlag=false; --y;
    for (int i=0;i<x;++i,bFlag=false){
        tempArray=new int[y];
        for(int j=0;j<y;++j){
            if (nDelRow==j) {bFlag=true;}
            tempArray[j]=(bFlag)?(*Array)[i][j+1]:(*Array)[i][j];
        }
        delete [] (*Array)[i];
        (*Array)[i]=tempArray;
    }
    return *Array;
}
конечно, не идеал, но как основа пойдет =)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru