Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
.-Caxap-.
0 / 0 / 0
Регистрация: 28.06.2012
Сообщений: 2
#1

Нужна консультация - C++

01.07.2012, 17:18. Просмотров 437. Ответов 5
Метки нет (Все метки)

подскажите что означают эти две строчки? преподаватель попросил конкретно рассказать каждое слово.Почему повторяются delete array? выручайте)
for(unsigned i=0;i<rows;i++)delete []array[i];

http://www.cyberforum.ru/cpp-beginners/thread228813.html


delete []array;

вот исходный :
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
#include <iostream>
#include <conio.h>
#include <iomanip>
 
#ifdef max
#undef max
#endif
 
using namespace std;
 
int main()
{
 setlocale(0," ");
 // Ввод размерностей матрицы
 cout<<"Vvedute kol-vo ctrok matrici:";
 unsigned rows;
 cin>>rows;
 // Динамически размещаем матрицу
 int** array=new int*[rows];
 cout<<"Vvedute kol-vo ctolpchov matrichi:";
 unsigned cols;
 cin>>cols;
 // Ввод элементов матрицы построчно
 for(unsigned i=0;i<rows;i++)
 {
  array[i]=new int[cols];
  for(unsigned j=0;j<cols;j++)
  {
   cout<<"A["<<i+1<<"]["<<j+1<<"]=";
   cin>>array[i][j];
  }
 }
 // Печатаем матрицу
 cout<<"Icxodna9 matricha:"<<endl;
 for(unsigned i=0;i<rows;i++)
 {
  for(unsigned j=0;j<cols;j++)cout<<setw(7)<<array[i][j]<<' ';
  cout<<endl;
 }
 // Считаем сумму
 int sum=0;
 for(unsigned j=0;j<cols;j++)
 {
  bool flag=true;   // true - если нет отрицательных в столбце
  int sumincol=0;   // сумма элементов в столбце
  for(unsigned i=0;i<rows;i++)
  {
   if(array[i][j]<0)
   {
    flag=false;
    break;
   }
   sumincol+=array[i][j];
  }
  sum+=sumincol*flag;
 }
 // Освобождаем память
 for(unsigned i=0;i<rows;i++)delete []array[i];
 delete []array;
 // Печатаем результат
 cout<<"+ elementov v ctolbchax ne coderchahix otrichatelbnix elementov:"<<sum<<endl;
 system("PAUSE");
 return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2012, 17:18
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Нужна консультация (C++):

Нужна консультация
#include &lt;iostream&gt; #define N 30 using namespace std; int main() { int a;...

Нужна консультация по ДМ
Все привет. Вообщем задали нам курсовую по Дискр. Мат-ке. Мне досталась тема...

Нужна консультация специалистов
Доброго времени всем. Я только учусь и второй день пытаюсь скомпилировать в...

Подскажите,нужна консультация
Здравствуйте!! Подскажите, господа программисты, пожалуйста, на сколько...

Нужна консультация по Visual Studio 6.0
Я никогда не писал в вижуал студии, и у меня ее нет, чтобы проверить, поэтому...

5
alexey31415
59 / 59 / 7
Регистрация: 16.05.2010
Сообщений: 632
01.07.2012, 17:22 #2
Цитата Сообщение от .-Caxap-. Посмотреть сообщение
for(unsigned i=0;i<rows;i++)delete []array[i];
это массив указателей на указатель,то есть каждый элемент массива указывает на начало другого массива
Цитата Сообщение от .-Caxap-. Посмотреть сообщение
delete []array;
здесь удаляем укзаатель на начало массива array
1
.-Caxap-.
0 / 0 / 0
Регистрация: 28.06.2012
Сообщений: 2
01.07.2012, 17:24 #3
спасибо)
0
Andrey.K
344 / 265 / 128
Регистрация: 14.11.2010
Сообщений: 482
01.07.2012, 17:27 #4
C++
1
for(unsigned i=0;i<rows;i++)delete []array[i];
- тут идем освобождение памяти каждой строки матрицы
C++
1
 delete []array;
- тут уничтожение вспомогательного массива указателей
0
taras atavin
4204 / 1763 / 212
Регистрация: 24.11.2009
Сообщений: 27,565
01.07.2012, 17:29 #5
Цитата Сообщение от alexey31415 Посмотреть сообщение
это массив указателей на указатель,то есть каждый элемент массива указывает на начало другого массива
Ты не отличаешь декларацию от освобождения? Это не массив указателей на массивы, а удаление динамического массива динамических массивов.
0
alexey31415
01.07.2012, 17:33     Нужна консультация
  #6

Не по теме:


Цитата Сообщение от taras atavin Посмотреть сообщение
Ты не отличаешь декларацию от освобождения? Это не массив указателей на массивы, удаление динамического массива динамических массивов.
я говорил про сам массив,человек сам попросил подробно объяснить

0
01.07.2012, 17:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2012, 17:33
Привет! Вот еще темы с ответами:

Нужна консультация, уважаемые программисты
Очень нужна Ваша помощь, потому что в этом я должным образом не разбираюсь....

нужна консультация по C++, относительно AVR
несколько дней как начал изучать C++, прошу помочь в следующем: не понимаю,...

Только начинаю писать на с++, нужна консультация
В общем, скачал visual studio 2010, пpочитав паpу статей, попpобовал написать...

Решение задачи не требуется, нужна только в консультация!))
доброе время суток. моё задание: Множество целочисленных констант...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru