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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.88
Газмяс
0 / 0 / 0
Регистрация: 04.03.2009
Сообщений: 93
#1

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

15.04.2009, 07:05. Просмотров 2037. Ответов 2
Метки нет (Все метки)

дан массив А[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;
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2009, 07:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Заменить каждый нулевой элемент главной диагонали матрицы максимальным элементом побочной диагонали (C++):

Заменить каждый нулевой элемент главной диагонали максимальным элементом побочной диагонали - C++
Доброго времени суток. Имеется задача: Дан вещественный массив А. Заменить каждый нулевой элемент главной диагонали максимальным...

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

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

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

Вычислить среднее арифметическое побочной диагонали матрицы, и заменить им элементы ниже главной диагонали - 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;
}
1
Газмяс
0 / 0 / 0
Регистрация: 04.03.2009
Сообщений: 93
16.04.2009, 14:23  [ТС] #3
Спасибо Викдон! Работает! ))

а как теперь это же самое сделать, но уже без применения индексов???
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.04.2009, 14:23
Привет! Вот еще темы с ответами:

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

Поменять местами строку матрицы с максимальным элементом на главной диагонали со строкой m - C++
#include&lt;conio.h&gt; #include&lt;iostream.h&gt; #include&lt;iomanip.h&gt; #include&lt;stdlib.h&gt; void main() { int i,j,m,n,A,t,JmaxA,ImaxA,B; ...

Переставить строку матрицы с максимальным элементом на главной диагонали, со строкой с заданным номером m - C++
Задана квадратная матрица. Переставить строку с максимальным элементом на главной диагонали со строкой с заданным номером m.

Матрицы: элементы главной диагонали поменять местами с максимальным элементом в каждой строке - C++
Дана квадратичная матрица.элементы главной диагонали должны поменяться местами с максимальным элементом в каждой строчке... вроде всё...


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

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

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