Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Destro94
0 / 0 / 2
Регистрация: 24.05.2014
Сообщений: 20
#1

В полученной матрице найти наибольший по модулю элемент - C (СИ)

24.05.2014, 21:57. Просмотров 553. Ответов 2
Метки нет (Все метки)

Привет всем
Помогите пожалуйста с Си:

Даны квадратные матрицы А, В и С порядка n (n<=10). Получить матрицу D=(A+B)C. В полученной матрице найти наибольший по модулю элемент. Получить квадратную матрицу порядка (n-1) путем исключения из матрицы D строки и столбца, на пересечении которых расположен данный элемент. (Ввод\вывод матриц осуществлять через текстовые файлы).
http://www.cyberforum.ru/c-beginners/thread1144656.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2014, 21:57
Я подобрал для вас темы с готовыми решениями и ответами на вопрос В полученной матрице найти наибольший по модулю элемент (C (СИ)):

В действительной квадратной матрице порядка п найти наибольший по модулю элемент. Получить квадратную матрицу
У меня эта программа написана на СИ++. Напишите пожалуйста ее на СИ ...

Найти наибольший по модулю элемент матрицы
1) В данной действительной матрицы порядка n. Найти наибольший по модулю...

Найти наибольший элемент в матрице
Найти наибольший элемент в матрице в языке Си

Найти наибольший элемент в матрице, размерность матрицы задается с клавиатуры
Найти наибольший элемент в матрице, размерность матрицы задается с клавиатуры

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

2
Destro94
0 / 0 / 2
Регистрация: 24.05.2014
Сообщений: 20
21.08.2014, 13:05  [ТС] #2
Лучший ответ Сообщение было отмечено Destro94 как решение

Решение

Я нашёл матрицу D (mat5[i][j]), как теперь найти в ней максимальный элемент? И удалить строку и столбец где он расположен?

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
#include <stdlib.h>
#include <stdio.h>
int main(){
FILE *fp;
int m = 0, n = 0, i, j,k;
 
int  mat1[3][3], mat2[3][3], mat3[3][3], mat4[3][3], mat5[3][3];
char line[256];
 
char c;
fp = fopen("matr.txt", "r+");
if(NULL == fp) {
    printf("Exit...\n");
    exit(-1);
}
fgets(line, 256, fp);
while(!feof(fp)) {
   
    sscanf(line,"%d %d %d %d %d %d  %d %d %d ", 
    &mat1[m][0], &mat1[m][1], &mat1[m][2],
    &mat2[m][0], &mat2[m][1], &mat2[m][2], 
    &mat3[m][0], &mat3[m][1], &mat3[m][2]);
 
m++;
 
fgets(line, 256, fp);
}
 
printf("Matrix A:\n");
 
for(i = 0; i < m; i++) {
  for(j = 0; j < 3; j++) {
        printf("%d ", mat1[i][j]);
  }
  printf("\n");
}
 
printf("Matrix B:\n");
 
for(i = 0; i < m; i++) {
  for(j = 0; j < 3; j++) {
        printf("%d ", mat2[i][j]);
  }
  printf("\n");
}
 
printf("Matrix C:\n");
 
for(i = 0; i < m; i++) {
  for(j = 0; j < 3; j++) {
        printf("%d ", mat3[i][j]);
  }
  printf("\n");
}
 
printf("Matrix D1:\n"); //Матрица (A+B)
 
for(i = 0; i < m; i++) {
  for(j = 0; j < 3; j++) {
  mat4[i][j]=mat1[i][j]+ mat2[i][j];
        printf("%d ", mat4[i][j]);
  }
  printf("\n");
}
 
printf("Matrix D2:\n"); 
 
 for(i = 0; i < m; i++) {
  for(j = 0; j < 3; j++) {
   mat5[i][j]=0;
     for(k = 0; k < 3; k++) {
      mat5[i][j]=mat5[i][j]+ (mat4[i][k]*mat3[k][j]);
                }
  }
  printf("\n");
}
 for(i = 0; i < m; i++) {
  for(j = 0; j < 3; j++) {
   printf("%d ", mat5[i][j]);  //Матрица D=(A+B)*C
   }
  printf("\n");
}
 
 
system("pause");
return 0;
}
Содержание matr.txt:
C
1
2
3
2 5 7  1 7 7  4 5 9
2 8 9  2 5 2  5 8 1
2 4 6  3 0 6  5 2 7
Добавлено через 17 часов 24 минуты
Максимальный элемент нашёл, как теперь обрезать матрицу?
C
1
2
3
4
5
6
7
8
9
10
11
mx=mat5[i][j];
imx=1;
jmx=1;
 for(i = 0; i < m; i++) {
  for(j = 0; j < 3; j++){
if (abs(mat5[i][j])>abs(mx))
mx=mat5[i][j];
imx=i;
jmx=j;
}
}
0
some_name
Вежливость-главное оружие
227 / 225 / 86
Регистрация: 19.02.2013
Сообщений: 1,441
21.08.2014, 13:18 #3
Цитата Сообщение от Destro94 Посмотреть сообщение
как теперь обрезать матрицу?
Создать новую матрицу и в нее переписать исходную, без "удаленной" строки
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.08.2014, 13:18
Привет! Вот еще темы с решениями:

В полученной матрице обнулить строку с номером k
дано натуральное число n. Написать программу построения матрицы порядка n: ...

Найти максимальный по модулю элемент матрицы
Задана матрица размером (n x n). Как Найти максимальный по модулю элемент...

Найти минимальный по модулю элемент матрицы
Дана матрица размером N x N. Найти минимальный по модулю элемент матрицы....

В массиве найти наибольший элемент
В массиве найти наибольший элемент. Вывести на дисплей полу- ченное значение....


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

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

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