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

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

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

Заменить элементы главной и побочной диагоналей матрицы на минимальный элемент ниже главной диагонали - C++

17.12.2010, 13:39. Просмотров 627. Ответов 7
Метки нет (Все метки)

В квадратной матрице А[N][N] заменить элементы главной и побочной диагоналей на минимальный элемент, найденный среди элементов, расположенных ниже главной диагонали.

Добавлено через 1 час 7 минут
Хотябы как задать квадратичный массив подскажите =/
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2010, 13:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Заменить элементы главной и побочной диагоналей матрицы на минимальный элемент ниже главной диагонали (C++):

Заменить элементы главной диагонали матрицы нулями и найти максимальный элемент ниже побочной диагонали - C++
Есть пример для решения другой задачи(она находит суму всех элементов каждой строки и выводит результат суммы по возрастанию): #include...

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

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

В квадратной матрице заменить элементы главной и побочной диагонали на минимальный элемент - C++
задача такая:в квадратной матрице заменить элементы главной и побочной диагонали на минимальный элемент найденый среди элементов...

В массиве заменить отрицательные элементы ниже главной диагонали на минимальный элемент строки - C++
Матрица 5х5. Заменить все отрицательные элементы ниже главной диагонали на минимальный элемент соответствующей строки и отобразить этот...

Динамически распределение памяти. Матрицы. Найти максимальный ниже побочной диагонали, и минимальный главной диагонали - C++
В матрице n-го порядка найти максимальный среди элементов , лежащих ниже побочной диагонали, и минимальный среди элементов , лежащих...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
17.12.2010, 13:42 #2
Цитата Сообщение от Spil Посмотреть сообщение
Хотябы как задать квадратичный массив подскажите =/
C++
1
int A[5][5];
или

C++
1
2
3
const int M=10;
const int N=5;
int arr[M][N];
Dzhos
5 / 5 / 0
Регистрация: 17.12.2010
Сообщений: 34
17.12.2010, 13:51 #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
#include <iostream>
 
using namespace std;
 
int main (){
    
    int mas[100][100];
    int n ;
    cin >> n;
 
    int d=0;
    for (int i = 0 ; i < n ; i++){
        for (int j = 0 ; j < n ; j++){
            mas[i][j]= ++d;
        }
    }
    for (int i = 0 ; i < n ; i++){
        for (int j = 0 ; j < n ; j++){
            cout << mas[i][j] << " ";
        }cout << endl;
    }
    
    
    
    return 0;
}
Spil
0 / 0 / 0
Регистрация: 17.12.2010
Сообщений: 31
17.12.2010, 13:54  [ТС] #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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
 
 
//---------------------------------------------------------------------------
 
#pragma argsused
int main(int argc, char* argv[])
{
int n,min;
printf("\n BBeDuTe koLu4ecTBo CTpok u CTaL6LLoB: ");
scanf ("%d%d",&n,&n ) ;
int j, i;
int **mas2;
mas2=new  int  *[n];
randomize ();
for ( i=0; i<n; i++ )
{
mas2[i]   =  new  int [n] ;
for ( j=0;  j<n;  j ++)
mas2[i][j]  =  random (25);
}
puts ( "\n BBbIBoD elemeHToB DByMepHoro MaccuBa"  );
for ( i=0; i<n; i++ )
{
printf  ("\n");
for ( j   =0; j<n; j++ )
printf ( "%d \t",  mas2[i] [j] ) ;
 
getch();
}
}
//---------------------------------------------------------------------------
ну например я этим исходником магу задать квадратичный массив,a "заменить элементы главной и побочной диагоналей на минимальный элемент, найденный среди элементов, расположенных ниже главной диагонали."
Как собственно перейти к элементам ниже главной диагонали чтобы среди инх искать минимум

Добавлено через 1 минуту
Не обезательно же использовать #include <iostream> в массивах с динамической паметью?
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
17.12.2010, 14:06 #5
Цитата Сообщение от Spil Посмотреть сообщение
В квадратной матрице А[N][N] заменить элементы главной и побочной диагоналей на минимальный элемент, найденный среди элементов, расположенных ниже главной диагонали.
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
#include <iostream>
#include <ctime>
#include <iomanip>
 
using namespace std;
 
int main()
{
    srand(static_cast<int>(time(NULL)));
    const int N=5;
    int cnt=0,min;
    int mat[N][N];
    cout<<endl<<"Matrix: "<<endl;
     for(int i=0; i<N; i++)
     {
         for(int j=0; j<N; j++)
         {
             mat[i][j]=rand()%25;
             cout<<setw(4)<<mat[i][j]<<setw(4);
              if(i>j && !cnt)
              {
                  min=mat[i][j];
                  cnt++;
              }
         }
       cout<<endl;
     }
     for(int i=0; i<N; i++)
     {
         for(int j=0; j<N; j++)
         {
             if(i>j && (min>mat[i][j]))
              {
                 min=mat[i][j];
              }
         }
     }
     cout<<endl<<"New matrix:"<<endl;
     for(int i=0; i<N; i++)
     {
         for(int j=0; j<N; j++)
         {
             if(i==j || i+j==N-1)
              {
                  mat[i][j]=min;
              }
            cout<<setw(4)<<mat[i][j]<<setw(4);
         }
       cout<<endl;
     }
     system("pause");
     return 0;
 
     
}
Dzhos
5 / 5 / 0
Регистрация: 17.12.2010
Сообщений: 34
17.12.2010, 14:25 #6
9 tak rewil
u m9 tut sam vvodish'
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
#include <iostream>
 
using namespace std;
 
int main (){
    
    int mas[100][100];
    int n ;
    cin >> n;
 
    int min = 99999;
    for (int i = 0 ; i < n ; i++){
        for (int j = 0 ; j < n ; j++){
            cin >> mas[i][j];
        }
    }
    
    for (int i = 0 ; i < n ; i++){
        for (int j = 0 ; j < n ; j++){
            if (i > j){
            if(min > mas[i][j])
            min = mas[i][j];
             else mas[i][j]=mas[i][j];
            }
        }
    }
        for (int i=0; i<n; i++){
            for (int j=0; j<n; j++){
             if ( i+j==n-1 )
              mas[i][j] = min;
            
 
         }
        }
        for (int i=0; i<n; i++){
            for (int j=0; j<n; j++){
                if ( i==j)
                    mas[i][j] = min;
            }
        }
        
        for (int i=0; i<n; i++){
            for (int j=0; j<n; j++){
                cout << mas[i][j] << " ";
            } cout << endl ;
    }
    
    
    
    return 0;
}
Spil
0 / 0 / 0
Регистрация: 17.12.2010
Сообщений: 31
17.12.2010, 14:41  [ТС] #7
эм а если еще нада использовать динамическую память как это будет выглядеть?)
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
17.12.2010, 14:58 #8
Цитата Сообщение от Spil Посмотреть сообщение
а если еще нада использовать динамическую память как это будет выглядеть?)
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
#include <iostream>
#include <ctime>
#include <iomanip>
 
using namespace std;
 
int main()
{
        srand(static_cast<int>(time(NULL)));
        int cnt=0,min;
        int **mat;
        int N;
        cout<<"Enter N -> ";
        cin>>N;
        mat=new int*[N];
        cout<<endl<<"Matrix: "<<endl;
         for(int i=0; i<N; i++)
         {
                mat[i]=new int[N];
                 for(int j=0; j<N; j++)
                 {
                         mat[i][j]=rand()%25;
                         cout<<setw(4)<<mat[i][j]<<setw(4);
                          if(i>j && !cnt)
                          {
                                  min=mat[i][j];
                                  cnt++;
                          }
                 }
       cout<<endl;
         }
         for(int i=0; i<N; i++)
         {
                 for(int j=0; j<N; j++)
                 {
                         if(i>j && (min>mat[i][j]))
                          {
                             min=mat[i][j];
                          }
                 }
         }
         cout<<endl<<"New matrix:"<<endl;
         for(int i=0; i<N; i++)
         {
                 for(int j=0; j<N; j++)
                 {
                         if(i==j || i+j==N-1)
                          {
                                  mat[i][j]=min;
                          }
            cout<<setw(4)<<mat[i][j]<<setw(4);
                 }
       cout<<endl;
         }
         system("pause");
         for(int i=0; i<N; i++)
         {
             delete mat[i];
         }
          delete [] mat;
         return 0;
 
         
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2010, 14:58
Привет! Вот еще темы с ответами:

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

Обнулить элементы матрицы, лежащие одновременно выше главной диагонали и ниже побочной диагонали - C++
Дана квадратная матрица порядка M. Обнулить элементы матрицы, лежащие одновременно выше главной диагонали и ниже побочной диагонали (левый...

Найти минимальный элемент матрицы, расположенный ниже главной диагонали - C++
Задана матрица размером NxN. Найти минимальный элемент, среди элементов, расположенных ниже главной диагонали, номер его строку и номер его...

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
17.12.2010, 14:58
Ответ Создать тему
Опции темы

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