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

Сдвиг элементов каждой строки матрицы так, чтобы максимальный элемент встал на первое место

26.09.2017, 23:18. Показов 2022. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задана матрица размером NxM. Передвинуть циклическим сдвигом элементы каждой строки так, чтобы максимальный элемент стал на первое место.
Помогите пожалуйста
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.09.2017, 23:18
Ответы с готовыми решениями:

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

Определить максимальный элемент в каждой строке матрицы и поместить его на первое место в строке
Дана целочисленная матрица размером 5х5 элементов, определить максимальный элемент в каждой строке...

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

Переставить строки и столбцы матрицы так, чтобы максимальный элемент был расположен на пересечении k-й строки и k-го столбца
Задана матрица размером n x m. Найти максимальный по модулю элемент матрицы. Переставить строки и...

4
838 / 641 / 940
Регистрация: 26.06.2015
Сообщений: 1,409
28.09.2017, 11:35 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
#include <stdio.h>
#include <string.h>
#define N  5
#define M  4
int  index_max(const int arr[], int n);
void cycle_left(int arr[], int n, int off);
 
int main(void){
    int i, j;
    int mat[N][M] = {
        { 1, 2, 3, 4 },
        { 1, 5, 3, 4 },
        { 0, 3, 7, 1 },
        { 4, 1, 2, 6 },
        { 4, 9, 5, 3 }
    };
    
    for(i = 0; i < N; ++i)
        cycle_left(mat[i], M, index_max(mat[i], M));
 
    //вывод
    for(i = 0; i < N; ++i){
        for(j = 0; j < M; ++j)
            printf("%d ", mat[i][j]);
        putchar('\n');
    }
    getchar();
    return 0;
}
 
//циклический сдвиг влево
void cycle_left(int arr[], int n, int off){
    int tmp[M];
    if(off > 0 && off < n){
        memcpy(&tmp[0], &arr[0],       (size_t)off * sizeof(int));
        memcpy(&arr[0], &arr[off],     (size_t)(n - off) * sizeof(int));
        memcpy(&arr[n - off], &tmp[0], (size_t)off * sizeof(int));
    }
}
 
//макс
int index_max(const int arr[], int n){
    int i, j = 0;
    for(i = 1; i < n; ++i){
        if(arr[i] > arr[j])
            j = i;
    }
    return j;
}
0
0 / 0 / 0
Регистрация: 09.10.2016
Сообщений: 27
28.09.2017, 22:20  [ТС] 3
Мне нужно на чистом си
0
874 / 535 / 175
Регистрация: 30.07.2015
Сообщений: 1,739
28.09.2017, 22:26 4
System_Bot, а тут на каком?
0
737 / 542 / 416
Регистрация: 17.09.2015
Сообщений: 1,601
29.09.2017, 08:27 5
для учебных целей
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
#include <stdio.h>
#define M 3
#define N 5
int main()
{
    int A[M][N] = {{3,45,11,6,9},
                   {7,2,12,56,3},
                   {0,-2,4,12,-5}};
    int max, i, j, tmp, k;
    for(i = 0; i < M; i++){
        for(j = 1, max = 0; j < N; j++){
            if(A[i][j] > A[i][max])
                max = j;
        }
        if(max){
            for( ; max; max--){
                for(k = 0, tmp = A[i][k]; k < N - 1; k++)
                    A[i][k] = A[i][k + 1];
                A[i][N - 1] = tmp;
            }
        }
    }
    for(i = 0; i < M; i++, putchar('\n'))
        for(j = 0; j < N; j++)
            printf("%4d", A[i][j]);
    return 0;
}
0
29.09.2017, 08:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.09.2017, 08:27
Помогаю со студенческими работами здесь

Переставить строки и столбцы матрицы так, чтобы максимальный по модулю элемент был расположен на пересечении k-й строки и k-го столбца
Задана матрица размером n*m. Найти максимальный по модулю элемент матрицы. Переставить строки и...

Составить программу так чтобы находился наибольший элемент каждой строки матрицы?
У меня есть матрица вот код на матрицу package l1; import javax.swing.*; public class L1...

Переставить строки и столбцы матрицы так чтобы максимальный элемент оказался справа сверху
#include &quot;stdafx.h&quot; #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;stdlib.h&gt; using namespace...

Найти сумму элементов каждой строки матрицы и удалить строки, содержащую максимальный элемент
Дана матрица А. Ввести элементы массива с помощью генератора случайных чисел в интервале . Вывести ...


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

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