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

Найти в каждой из трёх квадратных матриц максимальный элемент главной диагонали - C++

Восстановить пароль Регистрация
 
targetar
1 / 1 / 0
Регистрация: 25.12.2009
Сообщений: 34
25.12.2009, 12:26     Найти в каждой из трёх квадратных матриц максимальный элемент главной диагонали #1
Помогите решить задачу:
Даны три квадратные матрицы разных размеров. Найти в каждой из них максимальный элемент главной диагонали.(просят оформить в виде функций, но хотя бы без них помогите)
А размеры какие задавать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2009, 12:26     Найти в каждой из трёх квадратных матриц максимальный элемент главной диагонали
Посмотрите здесь:

Найти максимальный элемент по главной диагонали C++
Найти максимальный элемент среди лежащих ниже главной диагонали C++
C++ Написать функцию для вычисления суммы элементов n квадратных матриц, которые расположены ниже главной диагонали.
Найти максимальный элемент для каждой диагонали матрицы, параллельной побочной C++
Поменять местами максимальный элемент главной диагонали и элемент, лежащий на пересечении главной и побочной диагоналей C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
25.12.2009, 13:13     Найти в каждой из трёх квадратных матриц максимальный элемент главной диагонали #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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#include <iostream.h>
#include <iomanip.h>
#include <stdlib.h>
#include <time.h>
 
void FillArray(int **array, int rowSize, int columnSize);
void PrintArray(int **array, int rowSize, int columnSize);
int FindMax(int **array, int size);
int main(int argc, char* argv[])
{
   int arraysize_a = 10;
   int arraysize_b = 5;
   int arraysize_c = 15;
 
   int **a, **b, **c;
   int maxa, maxb, maxc;
 
   srand(time(NULL));
   a = new int*[arraysize_a];
   b = new int*[arraysize_b];
   c = new int*[arraysize_c];
 
   for (int i = 0; i < arraysize_a; i++)
   {
      a[i] = new int[arraysize_a];
   }
   for (int i = 0; i < arraysize_b; i++)
   {
      b[i] = new int[arraysize_b];
   }
   for (int i = 0; i < arraysize_c; i++)
   {
      c[i] = new int[arraysize_c];
   }
 
   FillArray(a, arraysize_a, arraysize_a);
   FillArray(b, arraysize_b, arraysize_b);
   FillArray(c, arraysize_c, arraysize_c);
   maxa = FindMax(a, arraysize_a);
   maxb = FindMax(b, arraysize_b);
   maxc = FindMax(c, arraysize_c);
   PrintArray(a, arraysize_a, arraysize_a);
   cout << "maxa = " << maxa << endl;
   PrintArray(b, arraysize_b, arraysize_b);
   cout << "maxb = " << maxb << endl;
   PrintArray(c, arraysize_c, arraysize_c);
   cout << "maxc = " << maxc << endl;
   delete []a;
   delete []b;
   delete []c;
   system("pause");
   return 0;
}
 
void FillArray(int **array, int rowSize, int columnSize)
{
   for (int i = 0; i < rowSize; i++)
   {
      for (int j = 0; j < columnSize; j++)
      {
         array[i][j] = rand() % 51;
      }
   }
}
 
void PrintArray(int **array, int rowSize, int columnSize)
{
   for (int i = 0; i < rowSize; i++)
   {
      for (int j = 0; j < columnSize; j++)
      {
         cout << setw(3) << array[i][j];
      }
      cout << endl;
   }
 
}
 
int FindMax(int **array, int size)
{
   int max;
   max = array[0][0];
   for (int i = 0; i < size; i++)
   {
      if (max < array[i][i])
      {
         max = array[i][i];
      }
   }
   return max;
}
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
25.12.2009, 13:22     Найти в каждой из трёх квадратных матриц максимальный элемент главной диагонали #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
39
40
41
42
43
44
45
46
47
48
#include <iostream.h>
#include <windows.h>
 
int max_elem(int **mas, int n)
{
    int i, j, temp;
    mas=new int*[n]; 
    for(i=0; i<n; i++)
       mas[i]=new int[n];
    cout<<"Введите элементы матрицы: "<< endl;
    for(i=0; i<n; i++)
       for(j=0; j<n; j++)
       {
          cout<<"["<<i<<"]["<<j<<"]= ";
          cin>>mas[i][j];
       }
        cout<<"исходная матрица"<<endl;
    for(i=0; i<n; i++)
        {
       for(j=0; j<n; j++)
          cout<<mas[i][j]<<" ";
          cout<<endl;
        }
    temp=mas[0][0];
    for(i=1; i<n; i++)
        if(mas[i][i]>temp)
            temp=mas[i][i];
    return temp;
}
 
int main ()
{   int **mas1=0, **mas2=0, **mas3=0, n, temp, count;
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    for(count=1; count<4; count++)
    {
    cout<<"Введите количество строк и столбцов "<<count<<" матрицы: "<< endl;
    cin>>n;
    if(count==1)
        temp=max_elem(mas1, n);
    if(count==2)
        temp=max_elem(mas2, n);
    if(count==3)
        temp=max_elem(mas3, n);
    cout<<"В главной диагонали "<<count<<" матрицы масимальный элемент: "<< temp<< endl;
    }   
    return 0; 
}
targetar
1 / 1 / 0
Регистрация: 25.12.2009
Сообщений: 34
25.12.2009, 13:29  [ТС]     Найти в каждой из трёх квадратных матриц максимальный элемент главной диагонали #4
уууу! Внушительные размеры и некоторые операторы типа findsize я первый раз вижу, большое спасибо!
А вот как такое чудо оформить в виде функций, помогите пожалуйста!
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
25.12.2009, 13:39     Найти в каждой из трёх квадратных матриц максимальный элемент главной диагонали #5
Так все и оформленно с помощью функций.)
targetar
1 / 1 / 0
Регистрация: 25.12.2009
Сообщений: 34
25.12.2009, 15:39  [ТС]     Найти в каждой из трёх квадратных матриц максимальный элемент главной диагонали #6
первое без функций, второе с функциями(сообщения)?

Добавлено через 1 час 58 минут
Скажите пожалуйста, можно ли протестировать эту функцию, я имею ввиду типа:
C++
1
2
3
float Func(float a,float b)
{ return 8, 5;
}
если можно, то покажите как пожалуйста!
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
25.12.2009, 17:20     Найти в каждой из трёх квадратных матриц максимальный элемент главной диагонали #7
А Вы сможете объяснить, что Вы хотели получить от этой функции в принципе?
Цитата Сообщение от targetar Посмотреть сообщение
return 8, 5;
Всегда будет возвращать 5.
Зачем передавать значения в качестве параметров функции какие-то значения, если они вообще не используются?
targetar
1 / 1 / 0
Регистрация: 25.12.2009
Сообщений: 34
27.12.2009, 11:52  [ТС]     Найти в каждой из трёх квадратных матриц максимальный элемент главной диагонали #8
Я имею ввиду тестирование программы(проверка, тест) Func Double и т.д.
Как протестировать эту программу(оформленую в виде функций) в виде программы с++(такой же, обычной)
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
27.12.2009, 13:37     Найти в каждой из трёх квадратных матриц максимальный элемент главной диагонали #9
Цитата Сообщение от targetar Посмотреть сообщение
Я имею ввиду тестирование программы(проверка, тест) Func Double и т.д.
Как протестировать эту программу(оформленую в виде функций) в виде программы с++(такой же, обычной)

Или Вы хотите следующее?: берем две программы, которые выполняют одни и те же действия, но одна написана с функциями а другая без функций. И проверить на одних и тех же входных данных, будут ли выходные данные отличаться. Так?
targetar
1 / 1 / 0
Регистрация: 25.12.2009
Сообщений: 34
27.12.2009, 13:44  [ТС]     Найти в каждой из трёх квадратных матриц максимальный элемент главной диагонали #10
Нет, я хочу проверить(протестировать) только ту, что в виде функций(вторую), и это надо сделать в с++, но я незнаю как, помогите пожалуйста!
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
27.12.2009, 13:54     Найти в каждой из трёх квадратных матриц максимальный элемент главной диагонали #11
Первая кстати тоже с функциями.
А проверить(протестировать) просто: копилируйте, запускайте программу, вводите размеры и элементы массивов. Тут же на экране будет выведена очередная матрица и самый большой элемент в главной диагонали. Все наглядно. Только запустите и сами увидите.
targetar
1 / 1 / 0
Регистрация: 25.12.2009
Сообщений: 34
27.12.2009, 14:06  [ТС]     Найти в каждой из трёх квадратных матриц максимальный элемент главной диагонали #12
Ладно! Спасибо большое!
targetar
1 / 1 / 0
Регистрация: 25.12.2009
Сообщений: 34
05.01.2010, 13:25  [ТС]     Найти в каждой из трёх квадратных матриц максимальный элемент главной диагонали #13
Помогите пожалуйста! Как составить блок-схему к этой программе:
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
#include <iostream.h>
#include <conio.h>
#include <math.h>
 
int max_elem(int **mas, int n)
{
  int i, j, temp;
  mas=new int*[n]; 
  or(i=0; i<n; i++)
  mas[i]=new int[n];
  cout<<"Введите элементы матрицы: "<< endl;
  for(i=0; i<n; i++)
  for(j=0; j<n; j++)
{
  cout<<"["<<i<<"]["<<j<<"]= ";
  cin>>mas[i][j];
}
  cout<<"исходная матрица"<<endl;
  for(i=0; i<n; i++)
{
  for(j=0; j<n; j++)
  cout<<mas[i][j]<<" ";
  cout<<endl;
}
  temp=mas[0][0];
  for(i=1; i<n; i++)
  if(mas[i][i]>temp)
  temp=mas[i][i];
  return temp;
}
 
 int main ()
{int **mas1=0, **mas2=0, **mas3=0, n, temp, count;
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 for(count=1; count<4; count++)
{
 cout<<"Введите количество строк и столбцов "<<count<<" матрицы: "<< endl;
 cin>>n;
 if(count==1)
 temp=max_elem(mas1, n);
 if(count==2)
 temp=max_elem(mas2, n);
 if(count==3)
 temp=max_elem(mas3, n);
 cout<<"В главной диагонали "<<count<<" матрицы масимальный элемент: "<< temp<< endl;
}       
 return 0; 
}
Добавлено через 31 минуту
Помогите с программой и блок-схемой!!!
Leonus89
0 / 0 / 0
Регистрация: 24.11.2009
Сообщений: 24
05.01.2010, 13:57     Найти в каждой из трёх квадратных матриц максимальный элемент главной диагонали #14
А можно на С перевести прогу для нахождения макс. элемента на главной диагонали?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2010, 18:10     Найти в каждой из трёх квадратных матриц максимальный элемент главной диагонали
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
targetar
1 / 1 / 0
Регистрация: 25.12.2009
Сообщений: 34
05.01.2010, 18:10  [ТС]     Найти в каждой из трёх квадратных матриц максимальный элемент главной диагонали #15
Вообщето нет, надо в с++!

Добавлено через 1 час 34 минуты
оОтветьте пожалуйста!

Добавлено через 2 часа 36 минут
Сори,
Блок-схему к этой программе
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
#include<iostream>
using namespace std;
 
int max_elem(int **mas, int n) {
        int i, j, temp;
        mas=new int*[n];
        for(i=0; i<n; i++);
        mas[i]=new int[n];
        cout<<"Введите элементы матрицы: "<< endl;
        for(i=0; i<n; i++)
                for(j=0; j<n; j++)
                {
                        cout<<"["<<i<<"]["<<j<<"]= ";
                        cin>>mas[i][j];
                }
                cout<<"исходная матрица"<<endl;
        for(i=0; i<n; i++)
        {
                for(j=0; j<n; j++)
                        cout<<mas[i][j]<<" ";
                cout<<endl;
        }
        temp=mas[0][0];
        for(i=1; i<n; i++)
                if(mas[i][i]>temp)
                        temp=mas[i][i];
                return temp;
}
 
int main () {
        int **mas1=0, **mas2=0, **mas3=0, n, temp, count;
        for(count=1; count<4; count++)
        {
                cout<<"Введите количество строк и столбцов "<<count<<"матрицы: "<< endl;
                cin>>n;
                if(count==1)
                        temp=max_elem(mas1, n);
                if(count==2)
                        temp=max_elem(mas2, n);
                if(count==3)
                        temp=max_elem(mas3, n);
                cout<<"В главной диагонали"<<count<<"матрицы масимальный элемент: "<< temp<< endl;
        }
        return 0;
}
Пожалуйста, заранее благодарен!
Yandex
Объявления
05.01.2010, 18:10     Найти в каждой из трёх квадратных матриц максимальный элемент главной диагонали
Ответ Создать тему
Опции темы

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