Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 46
1

Циклический сдвиг строки матрицы в зависимости от чётности минимального элемента

16.01.2014, 15:02. Просмотров 1116. Ответов 1
Метки нет (Все метки)

12. Дана матрица А[m,n]. Если минимальный элемент строки матрицы четный, выполнить циклический сдвиг этой строки вправо, чтобы этот элемент оказался в последнем столбце. Иначе выполнить циклический сдвиг строки влево, чтобы этот элемент оказался в первом столбце.
если можно с комментариями))
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.01.2014, 15:02
Ответы с готовыми решениями:

Циклический сдвиг матрицы
Осуществить циклический сдвиг элементов квадратной матрицы размером М х N вправо на k элементов...

Циклический сдвиг столбцов матрицы
10. Дана матрица А, выполнить циклический сдвиг всех ее столбцов, начиная со второго, так, чтобы...

Циклический сдвиг элементов матрицы
нужно осуществить циклический сдвиг элементов кважратной матрицы размерности MxN вправо на k...

Осуществить циклический сдвиг по строкам матрицы
Пропускал занятия по C# и не могу выполнить задание :( ПОМОГИТЕ, больше некуда обратиться :( Буду...

1
4 / 4 / 7
Регистрация: 15.01.2014
Сообщений: 11
17.01.2014, 12:24 2
Лучший ответ Сообщение было отмечено Igor -69-rus как решение

Решение

Кликните здесь для просмотра всего текста

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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication8
{
    class Program
    {
        static void Main(string[] args)
        {
            const int m = 10, n = 5 , x = 20;
            Random rnd = new Random();
            int[,] A = new int[m, n];
            int i, j, min, jMin, temp;
            Console.WriteLine("Рандомная матрица");
            for (i = 0; i < m; i++)//Выводим матрицу на консоль и одновременно заполняем ее
            {
                for (j = 0; j < n; j++)
                {
                    Console.Write("{0,4}", A[i, j] = rnd.Next(x));
                }
                Console.WriteLine();
            }
            for (i = 0; i < m; i++) //пербираем все строки
            {
                min = int.MaxValue;
                jMin = 0;
                for (j = 0; j < n; j++) //ищем миним.эл. строки и его индекс
                {
                    if (A[i, j] < min)
                    {
                        min = A[i, j];
                        jMin = j;
                    }
                }
//реализация циклич.сдвига (rotate)
//смещаем на одну позицию влево каждый элемент ровно стоко раз - какой индекс минимального
//в итоге любой минимальный оказывается крайним слева.
                if (min % 2 == 0) //если же min четный то количество сдвигов влево увеличивает на 1
                    jMin++;         //в итоге он оказывается крайним справа
                while (jMin>0) 
                {
                    temp = A[i, 0]; //значение 1-го элемента строки храним во врем.переменной
                    for (j = 0; j < n-1; j++)
                    {
                        A[i, j] = A[i, j + 1]; //собственно здесь и происходит смешение значений 
                    }              //каждого элемента строки строки влево ровно jMin или jMin+1 раз
                    jMin--;
                    A[i, n-1] = temp;
                }   
            }
            Console.WriteLine("Результат:");
            for (i = 0; i < m; i++)//Выводим результат
            {
                for (j = 0; j < n; j++)
                {
                    Console.Write("{0,4}", A[i, j]);
                }
                Console.WriteLine();
            }
            Console.ReadLine();
        }
    }
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.01.2014, 12:24

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Осуществить циклический сдвиг элементов матрицы
Помогите, плз... Осуществить циклический сдвиг элементов матрицы размерности MxN вправо на k...

Осуществить циклический сдвиг элементов прямоугольной матрицы
Ребята, помогите пожалуйста с решением лабораторной работы! Задание: Осуществить циклический...

Осуществить циклический сдвиг элементов квадратной матрицы
Ребята помогите пожалуйста, задание в институте. Осуществить циклический сдвиг элементов...

Осуществить циклический сдвиг элементов прямоугольной матрицы
Осуществить циклический сдвиг элементов прямоугольной матрицы на N элементов вправо или вниз (в...


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

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

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