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

динамическое выделение памяти и обработку массива с применением указателей - C++

Восстановить пароль Регистрация
 
va_van
0 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 11
10.01.2011, 00:17     динамическое выделение памяти и обработку массива с применением указателей #1
Уплотнить заданную матрицу, удалив из неё строки и столбцы, заполненные нулями. Найти номер первой из строк, содержащих хотя бы один положительный элемент.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2011, 00:17     динамическое выделение памяти и обработку массива с применением указателей
Посмотрите здесь:

C++ Динамическое выделение памяти для массива
C++ Динамическое выделение памяти.
C++ Динамическое выделение памяти
C++ Динамическое выделение памяти для двумерного массива
Динамическое выделение памяти C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
10.01.2011, 04:05     динамическое выделение памяти и обработку массива с применением указателей #2
va_van, наброски есть? В чем проблема?
apachan
13 / 13 / 2
Регистрация: 07.12.2010
Сообщений: 127
10.01.2011, 15:15     динамическое выделение памяти и обработку массива с применением указателей #3
Господи, пользуйтесь головой и поиском и будет вам счастье...

http://www.cyberforum.ru/cpp-beginne...read53697.html
va_van
0 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 11
10.01.2011, 19:45  [ТС]     динамическое выделение памяти и обработку массива с применением указателей #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
#include "stdafx.h"
#include <iostream>
#include "windows.h"
#include <locale>
using namespace std;
int **mas, n, m, i,j, y, temp;
void main ()
{
    setlocale(LC_ALL,"RUSSIAN");
cout<<"Введите количество строк массива: "<< endl;
cin>>n;
cout<<"Введите количество столбцов массива: "<< endl;
cin>>m;
mas=new int*[n];
for(i=0; i<n; i++)
mas[i]=new int[m]; 
cout<<"Введите элементы массива: "<< endl;
for(i=0; i<n; i++)
for(j=0; j<m; j++)
{
cout<<"["<<i<<"]["<<j<<"]= ";
cin>>mas[i][j];
}
cout<<"исходный массив"<<endl;
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
cout<<mas[i][j]<<" ";
cout<<endl;
}
for(i=0; i<n; i++)
{temp=0;
for(j=0; j<m; j++)
if(mas[i][j]!=0)
temp=1;
if(temp==0)
{
    for(y=i; y<n-1; y++)
        for(j=0; j<m; j++)
            mas[y][j]=mas[y+1][j];
    n--;
}
}
for(i=0; i<m; i++)
{
    temp=0;
    for(j=0; j<n; j++)
        if(mas[j][i]!=0)
            temp=1;
    if(temp==0)
    {
        for(y=i; y<m-1; y++)
            for(j=0; j<n; j++)
                mas[j][y]=mas[j][y+1];
        m--;
    }
}
cout<<endl;
cout<<"Полученный массив"<<endl;
for(i=0; i<n; i++)
{
    for(j=0; j<m; j++)
        cout<<mas[i][j]<<" ";
    cout<<endl;
}
cout<<endl;
delete mas;
}
Добавлено через 3 минуты
apachan,спасибо,понял)

Добавлено через 10 минут
а в конце программы что нужно еще удалять?указатели?
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
10.01.2011, 23:19     динамическое выделение памяти и обработку массива с применением указателей #5
va_van, для двумерного массива освобождения памяти делается вот так

C++
1
2
3
4
5
for(int i=0; i<n; i++)
{
   delete mass[i];
}
  delete [] mass;
Yandex
Объявления
10.01.2011, 23:19     динамическое выделение памяти и обработку массива с применением указателей
Ответ Создать тему
Опции темы

Текущее время: 12:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru