0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 52
|
|
1 | |
Динамический массив24.10.2013, 22:02. Показов 527. Ответов 5
Метки нет (Все метки)
Помогите решить задачу способом динамических массивов.
Дана действительная матрица размера mxn, в которой не все элементы равны нулю. Получить новую матрицу путем деления всех элементов данной матрицы на ее наибольший по модулю элемент.
0
|
24.10.2013, 22:02 | |
Ответы с готовыми решениями:
5
Динамический массив при наследовании, элементами которого являются объекты класса наследника динамический массив Динамический массив ,элементами которого являются объекты класса динамический массив Создать динамический класс Book, содержащей динамический массив Authors Создать динамический класс Book, содержащий динамический массив Authors |
24.10.2013, 23:27 | 2 |
C++ #include <stdio.h> #include <stdlib.h> #include <time.h> using namespace std; // функция для получения модуля числа int abs(int x) { return (x >= 0 ? x : -x); } int main() { srand (time(NULL)); int n; int x = 10; int y = 20; // создание 2-мерного динамического массива int **a = new int*[x]; for(int i=0; i<x; i++) a[i] = new int[y]; // заполнение случайными значениями от -500 до 499 printf("Первичный массив\n"); for(int i=0; i<x; i++) { for(int j=0; j<y; j++) { a[i][j] = rand()%1000-500; if(a[i][j] < 0) printf("%3d ", a[i][j]); else printf(" %3d ", a[i][j]); } printf("\n"); } // поиск наибольшего элемента n = abs(a[0][0]); for(int i=0; i<x; i++) for(int j=0; j<y; j++) n = abs(a[i][j+1]) > n ? abs(a[i][j+1]) : n; printf("\nНаибольшее по модулю значение элемента: %d\n\n", n); // создание нового 2-мерного динамического массива float **b = new float*[x]; for(int i=0; i<x; i++) b[i] = new float[y]; // заполнение значениями из первого массива деленными на n printf("Вторичный массив\n"); for(int i=0; i<x; i++) { for(int j=0; j<y; j++) { b[i][j] = (float)a[i][j] / n; if(b[i][j] < 0.0) printf("%1.2f ", b[i][j]); else printf(" %1.2f ", b[i][j]); } printf("\n"); } printf("\n"); }
1
|
419 / 418 / 167
Регистрация: 28.11.2010
Сообщений: 1,183
|
|
24.10.2013, 23:58 | 3 |
Удалить созданные массивы не помешало бы
0
|
programina
|
25.10.2013, 00:13
#4
|
0
|
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 52
|
||||||
25.10.2013, 01:43 [ТС] | 5 | |||||
некорректно работает программа, вот скрин
http://youpict.ru/part/1/4283/fpm/ Добавлено через 19 минут А вот так норм
0
|
419 / 418 / 167
Регистрация: 28.11.2010
Сообщений: 1,183
|
||||||||||||||||
29.10.2013, 17:57 | 6 | |||||||||||||||
Вы неправильно удаляете массивы. Вначале в цикле нужно удалить строки, потом сам массив. Обратно тому, как вы выделяли память под массив.
А это что?
тем более, что abs и fabs - стандартные функции.
1
|
29.10.2013, 17:57 | |
29.10.2013, 17:57 | |
Помогаю со студенческими работами здесь
6
Можно ли в классе создавать массив переменной длинны. Например динамический массив? Скопировать динамический массив в другой массив только с положительными элементами из первого Динамический массив: целое число разложить на массив простых множителей Написать функцию принимающую массив и возвращающую указатель на динамический массив Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |