Barc Опубликовано 7 мая, 2010 Жалоба Опубликовано 7 мая, 2010 Дана матрица размером M×N. Элементы, у которых сумма номе-ров строки и столбца четные оставить без изменения, а остальные элементы разделить на максимальный по модулю элемент соот-ветствующей строки. Отпечатать полученную матрицу по стро-кам.
Agarb Опубликовано 27 июня, 2010 Жалоба Опубликовано 27 июня, 2010 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)
Recovery Опубликовано 30 июня, 2010 Жалоба Опубликовано 30 июня, 2010 ХехИнтересно, почти 2 месяца спустя еще актуально?
Agarb Опубликовано 1 июля, 2010 Жалоба Опубликовано 1 июля, 2010 Agarbи мусор забыл подчистить.не суть важно, менеджер памяти сам уберёт, после завершения программы. Хотя при реальной разработке на менеджер памяти полагаться не лучшее решение
CooDi Опубликовано 15 июля, 2010 Жалоба Опубликовано 15 июля, 2010 0xDEADBEEFоткомпилируй, запусти раз 1000 и посмотри Достаточно глюка в программе, и вуаля.
0xDEADBEEF Опубликовано 15 июля, 2010 Жалоба Опубликовано 15 июля, 2010 CooDiИ что будет?Согласен, если это запусать под ДОС'ом им подомным. В виносках 32 битных и практически любых юниксах любая память выделенная процессу гарантированно освобождается. В данной конкретной программе так даже будет быстрее.
The_Ice Опубликовано 15 июля, 2010 Жалоба Опубликовано 15 июля, 2010 Agarbне уберет., а если не мучатся, выделить 100 метров и завершить выполнение без освобождения? Будем делать ставки? (:
CooDi Опубликовано 15 июля, 2010 Жалоба Опубликовано 15 июля, 2010 ну в никсах то уберет, но человек то явно лабораторку пишет не в никсах.А потом мусор за собой убирать - правило хорошего тона - это во первых, а во вторых если программа большая, то она может занять у вас нехило ненужной памяти, пока ее не завершите.
The_Ice Опубликовано 15 июля, 2010 Жалоба Опубликовано 15 июля, 2010 С правилами хорошего тона я согласен, но в винде ресурсы завершенного процесса тоже освобождаются...
CooDi Опубликовано 15 июля, 2010 Жалоба Опубликовано 15 июля, 2010 The_Iceнет, не освобождаются - проверял - писал программу, которая использовала много памяти в куче, за несколько секунд разросталась на 100 мегабайт, при завершении память оставалась забитой. Только в семерке не проверял. Потом переписал программу - сделал динамические массивы с деструктором и о проблеме забыл.
0xDEADBEEF Опубликовано 15 июля, 2010 Жалоба Опубликовано 15 июля, 2010 CooDi и что? после завершения ту память никто не мог занять? и проверка заполненности памяти шла диспечером задач? Мы же говорим об именно этом коде."я гаранитрую это" - вспомнилось.The_IceА разве это не классика кун-фу?
The_Ice Опубликовано 16 июля, 2010 Жалоба Опубликовано 16 июля, 2010 проверял - писал программу, которая использовала много памяти в куче, за несколько секунд разросталась на 100 мегабайт, при завершении память оставалась забитой.код в студию, надеюсь, в нем не будет GlobalAlloc'ов и т.п.могу предложить позапускать несколько раз программульку типо:#define SZ (2 << 20) * 100int main(){ char * p = new char [SZ]; return 0;}и посмотреть сколько мусора от нее останется.А разве это не классика кун-фу?судя по всему - она
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти