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

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

Войти
Регистрация
Восстановить пароль
 
555shiro
8 / 8 / 1
Регистрация: 01.12.2009
Сообщений: 227
#1

Найти наибольший по модулю элемент матрицы - C++

25.10.2010, 13:18. Просмотров 393. Ответов 3
Метки нет (Все метки)

Здравствуйте !
задана матрица А[3][3]
0.301.20-0.20
-0.10-0.201.60
-1.50-0.300.10

Как взять и вывести наибоьший по модулю элемент ?
наибольший элемент здесь наверно 1.60,можно
просто вывести его как a[1][2],но это частный случай,а хотелось бы в общем виде,чтобы эту операцию можно было применить к любой другой матрице..
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream.h>
#include <conio.h>
void main ()
{  int i,j;
 float a[3][3]={0.30, 1.20, -0.20, -0.10, -0.20,
 1.60, -1.50, -0.30, 0.10 };
 
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
  {
   cout<<a[i][j]<<' '<<" ";
   }
   cout<<endl;
   }
getch ();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2010, 13:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти наибольший по модулю элемент матрицы (C++):

Найти наибольший по модулю элемент - C++
Матрица a*b хранится в файле C.txt. Найти номер строки и номер столбца, содержащий наибольший по модулю элемент.

В матрице найти наибольший по модулю элемент - C++
Задание:&quot;В данной действительной прямоугольной матрице размером nxm найти наибольший по модулю элемент. Получить матрицу порядка (n-1)xm...

Найти наибольший по модулю элемент массива - C++
2. Найти наибольший по модулю элемент

Найти в массиве наибольший по модулю элемент - C++
В одномерном массиве, состоящем из n элементов, найтинаибольший по модулю элемент.(Borland C++)

Удалить из матрицы строку и столбец, на пересечении которых расположен наибольший по модулю элемент - C++
Из матрицы размером NxM получить матрицу размером (N-1)x(M-1) путем удаления из исходной матрицы строки и столбца, на пересечении которых...

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

3
flax
8 / 8 / 0
Регистрация: 31.03.2010
Сообщений: 32
25.10.2010, 13:24 #2
C++
1
2
3
4
5
6
7
8
9
10
11
double max = 0;
for (int i=0;i<3;i++)
{
   for(int j=0;j<3;j++)
   {
       if (a[i][j]>max)
          max = a[i][j];
   }
 
}
cout<<max<<endl;
вот тебе для любой матрицы 3х3
0
easybudda
Модератор
Эксперт CЭксперт С++
9683 / 5633 / 956
Регистрация: 25.07.2009
Сообщений: 10,819
25.10.2010, 13:52 #3
вот оно и с индексами и с указателями...
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
#include <iostream>
#include <iomanip>
#include <cmath>
 
int main(){
    const int ROWS(3);
    const int COLUMNS(3);
    double matrix[ROWS][COLUMNS] = {
        { 0.30, 1.20, -0.20 },
        { -0.10, -0.20, 1.60 },
        { -1.50, -0.30, 0.10 }
    };
 
    for ( int i = 0; i < ROWS; ++i )
        for ( int j = 0; j < COLUMNS; ++j )
            std::cout << std::right << std::setw(4) << matrix[i][j] << ( j < COLUMNS - 1 ? ' ' : '\n');
 
    double * pMax = &matrix[0][0];
    for ( int i = 0; i < ROWS; ++i )
        for ( int j = 0; j < COLUMNS; ++j )
            if ( fabs(matrix[i][j]) > fabs(*pMax) )
                pMax = &matrix[i][j];
 
    std::cout << "Max value by MOD in matrix is " << *pMax << std::endl;
 
    int maxR = 0, maxC = 0;
    for ( int i = 0; i < ROWS; ++i ){
        for ( int j = 0; j < COLUMNS; ++j ){
            if ( fabs(matrix[maxR][maxC]) < fabs(matrix[i][j]) ){
                maxR = i;
                maxC = j;
            }
        }
    }
    std::cout << "Matrix[" << maxR << "][" << maxC << "] = " << matrix[maxR][maxC] << std::endl;
 
    return 0;
}
0
medik07
9 / 9 / 0
Регистрация: 09.10.2009
Сообщений: 46
25.10.2010, 14:56 #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
#include "stdafx.h"
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
    setlocale(LC_ALL, "Russian");
    double A[3][3]=
    {
        {0.30, 1.20, -0.20},
        {-0.10, -0.20, 1.60}, 
        {-1.50, -0.30, 0.10}
    };
    int  i,j;
    /*cout<<"Введите размерность матрицы: столбцы ";
    cin>>b;
    cout<<"Введите размерность матрицы: строки  ";
    cin>>c;*/
 
 double max=0;
  for (i=0; i<3; i++)
        for (j=0; j<3; j++)
        {
            if (abs(A[i][j])>max)
                max=A[i][j];
        }
  cout<<"max="<<max<<endl;
  system("Pause");
  return 0;
}
0
25.10.2010, 14:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.10.2010, 14:56
Привет! Вот еще темы с ответами:

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

Системное программирование (найти наибольший элемент по модулю в матрице n*m) - C++
Тип элементов одномерного массива – действительные числа. В данной действительной прямоугольной матрице размером nxm найти наибольший по...

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

Получить новую матрицу путём деления всех элементов данной матрицы на наибольший по модулю элемент - C++
Дана действительная матрица размером n*m. Получить новую матрицу путём деления всех элементов данной матрицы на наибольший по модулю...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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