Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Tim Grey
6 / 6 / 3
Регистрация: 29.09.2012
Сообщений: 58
#1

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

01.12.2012, 18:14. Просмотров 621. Ответов 2
Метки нет (Все метки)

Задана квадратная матрица (не больше 10х10) вещественных чисел. Найти наибольший элемент среди тех, что расположены на главной и побочной диагоналях и поменять его с элементом, который стоит на пересечении этих диагоналей.

__________________________________________________________________________________
Вот эта программа:

Добавлено через 1 час 30 минут
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
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
void main()
{ int x=1,y=1,z,i,j,n,i1,j1,max;
  float a[10][10];
  printf("\n Enter the size of your matrix (n<10): ");
  scanf("%i", &n);
  printf("Enter the elements of the matrix: \n", i,j);
  for (i=0; i<n; i++)
   { for (j=0; j<n; j++)
    { scanf("%f", &a[i][j]);
    }
   }
   printf("Your matrix:\n");
   for (i=0; i<n; i++)
    { for (j=0; j<n; j++)
      printf("%4.1f ", a[i][j]);
      printf("\n");
    }
 
   i1=0;
   j1=0;
   for (i=0; i<n; i++)
    for (j=0; j<n; j++)
    if (a[i][j]>a[i1][j1])
    { i1=i;
      j1=j; }
 
   { max=a[n/2][n/2];
   a[n/2][n/2]=a[i1][j1];
   a[i1][j1]=max; }
 
   printf("Changed matrix:\n");
   for (i=0; i<n; i++)
    { for (j=0; j<n; j++)
      printf("%4.1f ", a[i][j]);
      printf("\n");
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2012, 18:14
Ответы с готовыми решениями:

Поменять местами элементы на главной и побочной диагоналях матрицы
(CИ)Задана матрица A(n,n). Поменять местами элементы на главной и побочной...

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

Найти наибольший элемент среди стоящих на главной и побочной диагоналях
Народ вся надежда на вас! #include&lt;stdio.h&gt; #include&lt;conio.h&gt; #include...

Найти наибольший элемент матрицы среди стоящих в главной и побочной диагоналях
Дана действительная квадратная матрица порядка n,все элементы котррой различны....

Поменять местами соответствующие элементы, расположенные левее главной и побочной диагоналей и правее них
Есть написанная программа, которая меняет местами соответствующие элементы,...

2
El_Altair
1 / 1 / 2
Регистрация: 18.05.2011
Сообщений: 14
01.12.2012, 23:42 #2
а в чем проблема? если нужно пройтись по главной диагонали,то правильнее так
C
1
2
3
4
5
6
7
8
9
10
for(i=0;i<n;i++)
{
if(a[i][i]>max)
max=a[i][i];
}
for(i=n;i>0;i--)
{
if(a[i][i]>max)
max=a[i][i]
}
так найдете наибольший элемент среди главной или побочной главной
а вот пересечение диагоналей...а если матрица четная,то пересечение же не один элемент?
0
Tim Grey
6 / 6 / 3
Регистрация: 29.09.2012
Сообщений: 58
02.12.2012, 13:46  [ТС] #3
Подразумевается, что матрица нечётная.
Вот только сейчас заметил, что программа у меня не меняет элементы, как надо. На размере 7х7 вообще обмен в рандомном порядке производится.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2012, 13:46

Поменять местами наибольший и наименьший элемент главной диагонали массива
Дан массив 10х10. Поменять местами наибольший и наименьший элемент главной...

Найти в каждой строке наибольший элемент и поменять его местами с соответствующим элементом главной диагонали
Элементами матрицы являются случайные значения функции f(x). Вывести на печать...

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


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

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

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