Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
3 / 3 / 3
Регистрация: 17.10.2012
Сообщений: 147
1

В каждой строке матрицы поменять местами максимальный элемент и элемент, находящийся на главной диагонали

01.11.2012, 15:52. Показов 2351. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый Дня Всем!
Столкнулся с проблемой в решении задания:
В квадратной матрице С размера m*m в каждой строке поменять местами максимальный элемент и элемент, находящийся на главной диагонали.
(Написать и протестировать функцию)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.11.2012, 15:52
Ответы с готовыми решениями:

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

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

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

В каждой строке матрицы найти максимальный элемент, и поменять его местами с элементом главной диагонали
В двумерном массиве, состоящем из n×m элементов, в каждой строке найти максимальный элемент и...

6
224 / 219 / 77
Регистрация: 24.09.2012
Сообщений: 511
Записей в блоге: 2
01.11.2012, 16:18 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
#include <stdio.h>
#include <stdlib.h>
 
#define SIZE_T 5
 
int main(void) {
 
    int i, j;
    int max;
    int max_row, max_col;
    int t[SIZE_T][SIZE_T] = { {1,  4, -5,  0,  7},
                          {4,  7,  8, -1,  2},
                  {1,  0,  4,  7,  4},
                  {3, -6, -8,  1,  5},
                  {2, -9,  5,  7,  8} };
 
    for (i = 0; i < SIZE_T; ++i) {
        for (j = 0; j < SIZE_T; ++j) {
            printf("%5d", t[i][j]);
        }
        printf("\n");
    }
 
    for (i = 0; i < SIZE_T; ++i) {
        max = 0;
        for (j = 0; j < SIZE_T; ++j) {
            if (t[i][j] > max) {
                max = t[i][j];
                max_row = i;
                max_col = j;
            }
        }
        j = i;
        t[max_row][max_col] = t[i][j];
        t[i][j] = max;
    }
 
    printf("\n");
    for (i = 0; i < SIZE_T; ++i) {
        for (j = 0; j < SIZE_T; ++j) {
            printf("%5d", t[i][j]);
        }
        printf("\n");
    }
 
    return EXIT_SUCCESS;
}
2
3 / 3 / 3
Регистрация: 17.10.2012
Сообщений: 147
01.11.2012, 21:43  [ТС] 3
Цитата Сообщение от newsrc Посмотреть сообщение
{ {1, *4, -5, *0, *7},
* * * * * * * * * * * * * {4, *7, *8, -1, *2},
* * * * * * * * * {1, *0, *4, *7, *4},
* * * * * * * * * {3, -6, -8, *1, *5},
* * * * * * * * * {2, -9, *5, *7, *8} }
А можно ли как нибудь вместо этого, использовать генератор случайных чисел, raid ?
0
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
02.11.2012, 07:56 4
Andrea13, можно, только не raid, а rand(). И нажно не забыть в начале программы инициализировать зерно псевдослучайной последовательности с помощью функции srand()
0
224 / 219 / 77
Регистрация: 24.09.2012
Сообщений: 511
Записей в блоге: 2
02.11.2012, 09:11 5
Цитата Сообщение от Andrea13 Посмотреть сообщение
А можно ли как нибудь вместо этого, использовать генератор случайных чисел, raid ?
Например так:
C
1
2
3
4
5
6
7
8
9
10
11
12
/* Заполнение матрицы случайными числами */
for (i = 0; i < SIZE_T; ++i) {
    for (j = 0; j < SIZE_T; ++j) {
        t[i][j] = get_rand((i+1) * (j+1));
    }
}
 
/* Генератор чисел от 0 до 1023 */
int get_rand(int n) {
    srand(n);
    return 0 + rand() % 1023;
}
0
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
02.11.2012, 09:14 6
newsrc, при каждом запуске программы получим одну и ту же последовательность псевдослучайных чисел.
0
224 / 219 / 77
Регистрация: 24.09.2012
Сообщений: 511
Записей в блоге: 2
02.11.2012, 09:22 7
Nameless One, знаю.
0
02.11.2012, 09:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.11.2012, 09:22
Помогаю со студенческими работами здесь

Найти в каждой строке матрицы максимальный элемент и поменять его местами с элементами главной диагонали
Обработать матрицу, элементами которой являются случайные значения функции f(x)= 10/(1+x2); x ....

Найти в каждой строке матрицы максимальный элемент и поменять его местами с элементами главной диагонали
Дана матрица с(12,12). Найти в каждой строке максимальный элемент и поменять его местами с...

Найти в каждой строке матрицы максимальный элемент и поменять его местами с элементами главной диагонали
Обработать матрицу, элементами которой являются случайные значения функции f(x)= 10/(1+x2); x ....

В квадратной матрице в каждой строке поменять местами максимальный элемент с элементом на главной диагонали.
Доброго времени суток! :) Задача такая: В квадратной матрице C(MxM) в каждой строке поменять...

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

В каждой строке матрицы поменять местами максимальный элемент с элементом побочной диагонали
В каждой строке матрицы поменять местами максимальный элемент с элементом побочной диагонали и...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru