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

Преобразование матрицы nxm - C++

Восстановить пароль Регистрация
 
Dizaster
Сообщений: n/a
17.03.2010, 20:35     Преобразование матрицы nxm #1
Народ очень нужна ваша помощь! Сделать вот такое вот задание буду признателен)

Преобразование матрицы размерностью nxm разделить все элементы столбца с индексом k , которые больше еденицы на заданное число - среднее арифметическое из элементов строки с индексом L .

Значение k и L вводятся.
Исходная матрица задаётся в виде двумерного массива случайным образом. Вывести на экран исходную и результирующую матрицу.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2010, 20:35     Преобразование матрицы nxm
Посмотрите здесь:

C++ заполнить массив(NxM) последовательными числами от 1 до NxM в следующем порядке
Преобразование матрицы C++
C++ Преобразование матрицы
C++ преобразование матрицы
C++ Для матрицы размером NxM вывести на экран все седловые точки.
[MPI] Как отправить кусок матрицы nxm C++
Преобразование матрицы C++
C++ Транспонирование матрицы для размера NxM

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Legend-muay
50 / 50 / 4
Регистрация: 10.03.2010
Сообщений: 165
18.03.2010, 03:49     Преобразование матрицы nxm #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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
void RndMat( int n, int m, float *a)//Случайная матрица
{
  int i, j;
  for ( i = 0; i < n; i++ )
      for ( j = 0; j < m; j++)
 
              *((float *)a + (i * m) + j ) = rand() % 60;
 
}
 
void  OutputMat( int n, int m, float *a)//Вывод матрицы
{
   for ( int i = 0; i < n; i++ )
       {
         for ( int j = 0; j < m; j++ )
             printf("%f ", *((float *)a + (i * m) + j ));
         printf("\n");
       }
}
 
void main(void)
{
    int n, m, k, l;
    cout<<"Введите n: "<<endl;
    cin>>n;
    cout<<"Введите m: "<<endl;
    cin>>m;
    float *a = new float [n*m];
    RndMat(n, m, a);
    cout<<"Исходная матрица"<<endl;
    OutputMat(n, m, a);
    cout<<"Enter k"<<endl;
    cin>>k;
    cout<<endl<<"Enter L"<<endl;
    cin>>l;
    l--;
    k--;
    float Sr_ar = 0; //среднее арифмитическое
    for (int i = 0; i < m; i++)
        Sr_ar += *((float *)a + (l * m) + i);//Находим сумму строки l
    Sr_ar /= m;//Делим сумму на количество столбцов
    for (int i = 0; i < n; i++)
        if (*((float *)a + (i * m) + k) >= 1) *((float *)a + (i * m) + k) /= Sr_ar;//делим k-ый столбец на среднее ар-ое
    cout<<"Преобразованная матрица"<<endl;
    OutputMat(n, m, a);
    cin.get();
    cin.get();   
}
Yandex
Объявления
18.03.2010, 03:49     Преобразование матрицы nxm
Ответ Создать тему
Опции темы

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