Перейти к содержанию

двумерные массивы


Рекомендуемые сообщения

Дана матрица размером M×N. Элементы, у которых сумма номе-ров строки и столбца четные оставить без изменения, а остальные элементы разделить на максимальный по модулю элемент соот-ветствующей строки. Отпечатать полученную матрицу по стро-кам.

Ссылка на комментарий
  • 1 месяц спустя...
  • 3 недели спустя...

C++

#include 
#include
#include

using namespace std;

int main(){
int n,m;
scanf("%d %d",&n,&m);
double **matr = new double*[n];
matr[0] = new double[n*m];
for(int i=1; i matr[i]=matr[i-1]+m;

for(int i=0; i double max_el = 0;
for(int j=0; j scanf("%lf",&matr[i][j]);
if(abs(max_el) < abs(matr[i][j]))
max_el=matr[i][j];
}
for(int j=~i&1; j matr[i][j]/=max_el;
}

for(int i=0; i for(int j=0; j printf("%.2lf ", matr[i][j]);
putchar('\n');
}
}

(только матрица тут n*m)

Ссылка на комментарий
Agarb

и мусор забыл подчистить.

не суть важно, менеджер памяти сам уберёт, после завершения программы. Хотя при реальной разработке на менеджер памяти полагаться не лучшее решение

Ссылка на комментарий
  • 2 недели спустя...

CooDi

И что будет?

Согласен, если это запусать под ДОС'ом им подомным. В виносках 32 битных и практически любых юниксах любая память выделенная процессу гарантированно освобождается. В данной конкретной программе так даже будет быстрее.

Ссылка на комментарий

ну в никсах то уберет, но человек то явно лабораторку пишет не в никсах.

А потом мусор за собой убирать - правило хорошего тона - это во первых, а во вторых если программа большая, то она может занять у вас нехило ненужной памяти, пока ее не завершите.

Ссылка на комментарий

The_Ice

нет, не освобождаются - проверял - писал программу, которая использовала много памяти в куче, за несколько секунд разросталась на 100 мегабайт, при завершении память оставалась забитой. Только в семерке не проверял. Потом переписал программу - сделал динамические массивы с деструктором и о проблеме забыл.

Ссылка на комментарий

CooDi

:rock: и что? после завершения ту память никто не мог занять? и проверка заполненности памяти шла диспечером задач? Мы же говорим об именно этом коде.

"я гаранитрую это" - вспомнилось.

The_Ice

А разве это не классика кун-фу?

Ссылка на комментарий
проверял - писал программу, которая использовала много памяти в куче, за несколько секунд разросталась на 100 мегабайт, при завершении память оставалась забитой.

код в студию, надеюсь, в нем не будет GlobalAlloc'ов и т.п.

могу предложить позапускать несколько раз программульку типо:


#define SZ (2 << 20) * 100

int main()
{
char * p = new char [SZ];
return 0;
}

и посмотреть сколько мусора от нее останется.

А разве это не классика кун-фу?

судя по всему - она

Ссылка на комментарий

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...