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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
No0b41k
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 68
#1

найти новую матрицу (программа) - C++

04.11.2010, 17:31. Просмотров 268. Ответов 0
Метки нет (Все метки)

Добрый вечер. ув. форумчане, есть задание:

Дано действительную квадратную матрицу порядка n. Получить новую матрицу путем замены элементов, сумма индексов которых четная на среднее геометрическое модулей элементов, находящихся на главной диагонали.

по которому была написана программа:

Код
#include <iostream>
#include <ctime> 
#include <cmath>
 
using std::cout;
using std::cin;
using std::endl;

int sr_geo(int **arr, int n)
{
        int sr_geo=0; 
        float pr=1;
        for(int i=0; i<n; i++)
        {
                for(int j=0; j<n; j++)
                {
                        if(i==j)
                        {
                                pr*=abs(arr[i][j]);
                        }
                }
        }
        sr_geo = (int)exp(log((float)pr)/n);
        return sr_geo; 
}
 
int main()
{    
         srand((unsigned)time(NULL)); 
         int n,i,j;
         int sr;
         int **arr;
         cout<<"Vvedite razmer massiva: ";
         cin>>n;
         arr = new int*[n];
         cout<<"Massiv: "<<endl;
         for(i=0; i<n; i++)
         {
                  arr[i] = new int[n];
                  for(j=0; j<n; j++)
                   {
                     arr[i][j]=rand()%9+1;
                     cout<<arr[i][j]<<"  ";
                        }
            cout<<endl;
         }
         sr = sr_geo(arr,n); 
         cout<<endl;
         cout<<"Sformirovannaya matrica:"<<endl;
         for(i=0; i<n; i++)
         {
                 for(j=0; j<n; j++)
                 {
                         if((i+j)%2==0)
                         {
                                 arr[i][j]= sr;
                         }
                         cout<<arr[i][j]<<"  ";
                 }
                 cout<<endl;
         }
 
         delete arr;
         system("pause");
   return 0;
}
пожалуйста помогите найти ошибки\бессмысленные действия\упростить программу.
возможно кто-нибудь видит более простое решение этой задачи?, буду очень благодарен, спасибо заранее.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2010, 17:31     найти новую матрицу (программа)
Посмотрите здесь:

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

Получить новую матрицу - C++
Здравствуйте, нужен код для задачки на языке C: Даны две действительные квадратные матрицы порядка n. Получить новую матрицу умножением...

Вычислить новую матрицу по формуле - C++
Здравствуйте, вобщем есть программка мне нужно вычислить матрицу В, по матрице А. Ответ мне выдается иероглифами в первой матрице....

Функция создающая новую матрицу - C++
Нужна функция которая создает новую квадратную матрицу, где элементы вычисляются по формуле B=1/(i+j-1) Не уверен правильно ли функция...

Получить новую матрицу путем сложения - C++
Получить новую матрицу путем сложения всех элементов данной матрицы с ее наименьшим по модулю элементом. РАБОТА С ФУНКЦИЯМИ.. ...

Получить новую матрицу путем замены элементов - C++
Добрый вечер. Ув. форумчане пожалуйста помогите решить задачу по программированию, на тему: матрицы. Условие: Дано действительную...

Пронормировать элементы матрицы, результат записать в новую матрицу - C++
Пронормировать элементы данного двумерного массива , результат записать в новую матрицу. Помогите с ней , пожалуйста , гуглю уже больше...

Матрицы: получить новую матрицу путем умножения всех элементов на... - C++
Решите пожалуиста!!!Получить новую матрицу путем умножения всех элементов данной матрицы на ее найбольший по модулю элемент!Без iostream...

Получить новую матрицу путем деления ее элементов на первый элемент - C++
Задан массив А . Получить из него новый массив путем деления элементов массива на первый элемент массива

Создать новую матрицу из столбцов, которые не содержат элементы из заданного диапазона - C++
Ввести матрицу 3x8 действительных чисел и создать новую матрицу с тех столб- цев введенной матрицы, которые не содержат элементы из...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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