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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.88
Газмяс
0 / 0 / 0
Регистрация: 04.03.2009
Сообщений: 93
15.04.2009, 07:05     Заменить каждый нулевой элемент главной диагонали матрицы максимальным элементом побочной диагонали #1
дан массив А[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
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
#define n 3
#define m 3
 
int main()
{int a[n][n], b[n], i, j, max;
 
for (i=0;i<n;i++)
{
    for (j=0;j<m;j++)
 {
  printf("vvedite element massiva %d ", i,j);
  scanf("%d",&a[i][j]);}
printf("\n");
}
for (j=0;j<m;j++)
{
 for (i=0;i<n;i++)
 {
  if(a[i][j]>max)
  {
   max=a[i][j];
  }
 }
 b[j]=max;
 max=0;
}
for (j=0;j<m;j++)
{
 printf("%d ",b[j]);}
printf("\n");
 return 0;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2009, 07:05     Заменить каждый нулевой элемент главной диагонали матрицы максимальным элементом побочной диагонали
Посмотрите здесь:

C++ В квадратной матрице заменить элементы главной и побочной диагонали на минимальный элемент
Заменить каждый нулевой элемент главной диагонали максимальным элементом побочной диагонали C++
C++ Динамически распределение памяти. Матрицы. Найти максимальный ниже побочной диагонали, и минимальный главной диагонали
Поменять местами минимальный элемент главной диагонали и максимальный элемент побочной диагонали в матрице C++
Найти минимальный из элементов ниже главной и выше побочной диагонали и поменять его местами с первым элементом матрицы C++
C++ Элементы матрицы, которые лежат ниже главной диагонали, заменить минимальным элементом
C++ Найти произведение максимального элемента главной диагонали на минимальный элемент побочной диагонали
C++ Поменять местами строку матрицы с максимальным элементом на главной диагонали со строкой m
Заменить элементы главной диагонали суммами элементов их строк стоящих выше побочной диагонали C++
C++ Переставить строку матрицы с максимальным элементом на главной диагонали, со строкой с заданным номером m
Матрицы: элементы главной диагонали поменять местами с максимальным элементом в каждой строке C++
C++ Каждый элемент побочной диагонали матрицы заменить суммой всех других элементов этой строки

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Викдон
 Аватар для Викдон
67 / 67 / 4
Регистрация: 21.11.2008
Сообщений: 226
15.04.2009, 13:29     Заменить каждый нулевой элемент главной диагонали матрицы максимальным элементом побочной диагонали #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
#include "stdafx.h"
#include "iostream"
using namespace std;
 
 const int n=3;
 
int _tmain(int argc, _TCHAR* argv[])
 
//Создание двумерного динамического масива
{ int **a = new int*[n];
   for(int i=0;i<n;i++){
    a[i]=new int[n];
   }  
  
   int  i, j;
   int max;
   int CountNull=0;
 
   for (i=0;i<n;i++){
     for (j=0;j<n;j++) {
         cout<<"vvedite element massiva "<<i<<j<<" :";
        cin>>a[i][j];
        cout<<endl;
     }
   }
 
  //Нахождение max элемента побочной диагонали
  j=n-1;
  max=a[j][0];
  for (int i=0;i<n;i++){
    if (a[j][i]>max)
        max=a[j][i];
    j--;
  }
 
  //Замена нулевых элементов главной диагонали
  for(int i=0;i<n;i++){
      if (a[i][i]==0){
        a[i][i]=max;
        CountNull++;
      }
  }
 
  for(int i=0;i<n;i++){
      cout<<"| ";
       for(int j=0;j<n;j++){
           cout<<a[i][j]<<" ";
      }
      cout<<"|"<<endl;
  }
 
  cout<<"Null elementov: "<<CountNull;
 cin>>max;
 return 0;
}
Газмяс
0 / 0 / 0
Регистрация: 04.03.2009
Сообщений: 93
16.04.2009, 14:23  [ТС]     Заменить каждый нулевой элемент главной диагонали матрицы максимальным элементом побочной диагонали #3
Спасибо Викдон! Работает! ))

а как теперь это же самое сделать, но уже без применения индексов???
Yandex
Объявления
16.04.2009, 14:23     Заменить каждый нулевой элемент главной диагонали матрицы максимальным элементом побочной диагонали
Ответ Создать тему
Опции темы

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