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

Получить новую матрицу путем замены элементов - C++

Восстановить пароль Регистрация
 
No0b41k
 Аватар для No0b41k
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 68
07.10.2010, 21:24     Получить новую матрицу путем замены элементов #1
Добрый вечер. Ув. форумчане пожалуйста помогите решить задачу по программированию, на тему: матрицы.

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

необходимо написать код на С++, пожалуйста подскажите!

Добавлено через 1 час 57 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "stdio.h"
 
#define Size 10
 
int Matrix[Size][Size];
 
void Inicialize();
void Calculation();
 
void main()
{
Inicialize();
Calculation();
 
flushall();
getchar();
}
еще трудности с этим "сумма индексов которых четная на среднее геометрическое модулей элементов", не понимаю в упор условие =( помогите !
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2010, 21:24     Получить новую матрицу путем замены элементов
Посмотрите здесь:

Получить новую матрицу путем деления всех элементов данной матрицы на ее наибольший по модулю элемент C++
Получить новую матрицу путем умножения всех элементов данной матрицы на ее наименьший по модулю элемент C++
Матрицы: получить новую матрицу путем умножения всех элементов на... C++
Получить новую матрицу путем сложения C++
C++ Получить новую матрицу путем вычитания от элементов каждого столбца первой матрицы суммы элементов соответствующих строк второй матрицы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
07.10.2010, 22:20     Получить новую матрицу путем замены элементов #2
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
65
66
67
#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]);
            }
        }
    }
    //cout<<"@"<<pr<<"@";
    sr_geo =exp(log((float)pr)/n);
    return sr_geo; 
}
 
int main()
{    
     setlocale(LC_ALL,"Russian");
     srand((unsigned)time(NULL));
     int n;
     int sr;
     int **arr;
     cout<<"Введите розмер массива: ";
     cin>>n;
     arr = new int*[n];
     cout<<"Массив: "<<endl;
     for(int i=0; i<n; i++)
     {
          arr[i] = new int[n];
          for(int 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<<"Сформированая матрица:"<<endl;
     for(int i=0; i<n; i++)
     {
         for(int 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;
}
No0b41k
 Аватар для No0b41k
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 68
07.10.2010, 23:30  [ТС]     Получить новую матрицу путем замены элементов #3
MILAN

спасибо вам огромное!

Добавлено через 2 минуты
выдает ошибку при компиляции((

C:\Program Files\Microsoft Visual Studio\MyProjects\ll\ff.cpp(51) : error C2374: 'i' : redefinition; multiple initialization
C:\Program Files\Microsoft Visual Studio\MyProjects\ll\ff.cpp(38) : see declaration of 'i'
Error executing cl.exe.
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
07.10.2010, 23:38     Получить новую матрицу путем замены элементов #4
Попробуйте

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
65
66
67
#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]);
                        }
                }
        }
        //cout<<"@"<<pr<<"@";
        sr_geo =(int)exp(log((float)pr)/n);
        return sr_geo; 
}
 
int main()
{    
         setlocale(LC_ALL,"Russian");
         srand((unsigned)time(NULL));
         int n,i,j;
         int sr;
         int **arr;
         cout<<"Введите розмер массива: ";
         cin>>n;
         arr = new int*[n];
         cout<<"Массив: "<<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<<"Сформированая матрица:"<<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;
}
No0b41k
 Аватар для No0b41k
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 68
07.10.2010, 23:44  [ТС]     Получить новую матрицу путем замены элементов #5
спасибо, работает!))
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
07.10.2010, 23:44     Получить новую матрицу путем замены элементов #6
No0b41k, http://codepad.org/36ZsGNo4
No0b41k
 Аватар для No0b41k
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 68
07.10.2010, 23:47  [ТС]     Получить новую матрицу путем замены элементов #7
//cout<<"@"<<pr<<"@";
sr = sr_geo(arr,n);
вы бы не могли обьеснить что это значит?

а вот это
system("pause");
из #include <ctime> ?

Добавлено через 35 секунд
srand((unsigned)time(NULL));
и это.

Добавлено через 45 секунд
спасибо огромное человеческое!
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
07.10.2010, 23:57     Получить новую матрицу путем замены элементов #8
Цитата Сообщение от No0b41k Посмотреть сообщение
sr = sr_geo(arr,n);
Присвоим переменой sr результат выполнения функции sr_geo() (функция поиска среднего геометрического);

Цитата Сообщение от No0b41k Посмотреть сообщение
srand((unsigned)time(NULL));
Функция, которая устанавливает зерно генерации случайных чисел (аргумент - время);

Добавлено через 1 минуту
Цитата Сообщение от MILAN Посмотреть сообщение
//cout<<"@"<<pr<<"@";
Не обращайте внимания, ето для себя, когда тестил, забыл убрать!!!

Добавлено через 1 минуту
Цитата Сообщение от No0b41k Посмотреть сообщение
#include <ctime>
Нет. Ето для

C++
1
srand((unsigned)time(NULL));
No0b41k
 Аватар для No0b41k
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 68
08.10.2010, 00:30  [ТС]     Получить новую матрицу путем замены элементов #9
я повторяюсь, но скажу еще много много раз СПАСИБО!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2010, 19:26     Получить новую матрицу путем замены элементов
Еще ссылки по теме:

Получить новую матрицу путем деления всех элементов исходной матрицы на сумму элементов главной диагонали C++
Получить новую матрицу путем деления всех элементов данной матрицы на ее наибольший по модулю элемент C++
Получить новую матрицу путем деления всех элементов на ее наибольший по модулю элемент C++

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

Или воспользуйтесь поиском по форуму:
vaselo
19 / 19 / 1
Регистрация: 17.10.2010
Сообщений: 247
17.10.2010, 19:26     Получить новую матрицу путем замены элементов #10
не туда написал....
Yandex
Объявления
17.10.2010, 19:26     Получить новую матрицу путем замены элементов
Ответ Создать тему
Опции темы

Текущее время: 08:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru