aetolstih
?>

Задана матрица d(4; 4), определить максимальный, минимальный и поменять их местами в с#

Информатика

Ответы

legezin
Using System;

public class MatrixSwap
{
public static void Main()
{
int S = 4;
double[,] D = new double[S,S];
int imax, jmax, imin, jmin, i, j;
double max, min, t;
for (i = 0; i < S; i++)
{
for (j = 0; j < S; j++)
{
Console.Write("D[{0}][{1}] = ", i, j);
D[i,j] = Convert.ToDouble(Console.ReadLine());
}
}
imax = 0;
jmax = 0;
max = D[imax,jmax];
imin = 0;
jmin = 0;
min = D[imin,jmin];
for (i = 0; i < S; i++)
{
for (j = 0; j < S; j++)
{
if (D[i,j] > max)
{
max = D[i,j];
imax = i;
jmax = j;
}
if (D[i,j] < min)
{
min = D[i,j];
imin = i;
jmin = j;
}
}
}
t = D[imin,jmin];
D[imin,jmin] = D[imax,jmax];
D[imax,jmax] = t;
Console.WriteLine();
for (i = 0; i < S; i++)
{
for (j = 0; j < S; j++)
{
Console.Write("{0} ", D[i,j]);
}
Console.WriteLine();
}
}
}
atlantika7

8 LLLVR

81 L

98 RLRVR

110 RRLLR

179 VLRVR

Объяснение:

Я написал код, могу им поделиться. Его можно было бы еще упростить, ну я не стал, и так нормально.

Чтобы написать решение задачи можно идти снизу вверх. Точнее я не вижу легче. То есть, сначала мы будем рассматривать случай когда только две буквы(как раз последние две). Мы их изменяем от LL до VV. Потом мы меняем третью букву и снова по кругу (меняем снова последние две). После того, как дошли до VV, мы меняем третью букву на следующую и возвращаем последние две буквы в начальное положение. Так и продолжаем, идем по кругу с четвертой буквой, и так далее.

Код был написан на Python, если не разбираетесь то немного объясню, def - это функция(хотя почти везде это так); переменная glob - хранит текущий порядок, то есть на каком числе остановился.

def men(buk) - это функция нужна чтобы упростить жизнь, то есть чтобы каждый раз не писать: если эта буква L, меняем её на R и так далее. Основные моменты я объяснил. Я закину и код, и результат, если ты не можешь запустить этот код. Круглые скобки - это кортеж(что такое, объяснять не буду)) не это цель ответа).

оцени как лучший ответ, впервые написал такой большой ответ)), если не жалко конечно))

verynzik66525
ответ:LLLVRLVVVVRLRVRRRLLRVLRVRОбъяснение:

Так как используются только 3 символа L, R и V, представим их как 0, 1 и 2 соответственно. В таком случае, каждую последовательность из букв (уже цифр) мы можем рассматривать как число в трехзначной системе счисления.

Можем проверить: в условии сказано, что на 100-ом месте стоит строка RLVLL. Так как список начинается с нуля (LLLLL), то на сотом месте должно стоять число 99. Переводим в трёхзначную сс (смотрите вложение) и получаем 10200₃. Подставляем вместо 0-R, 1-R, 2-V и получаем RLVLL -- всё верно.

Теперь перейдём к задаче: нам нужно узнать последовательности под номерами 8, 81, 98, 110, 179. Переводим их в трёхзначную сс, предварительно уменьшив на 1 (т. к. последовательность начинается с нуля). Также добавим лишние нули (L) слева при необходимости, чтобы последовательность состояла из 5 символов. Смотрим:

8      →    7₁₀        =     000 21₃     =     LLLVR81     →    80₁₀     =     0 2222₃    =     LVVVV98    →    97₁₀     =     10121₃        =     RLRVR110    →    109₁₀   =     11001₃        =     RRLLR179   →    178₁₀    =     20121₃       =     VLRVR
Задача 3: Пятибуквенные последовательности Составим все возможные последовательности из пяти букв, и

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Задана матрица d(4; 4), определить максимальный, минимальный и поменять их местами в с#
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

kozhevniks
Геннадьевна_Петр
narkimry134
oaved2018
Ryadovboxing23
secretar62
Sharap
libirishka7910
stachevay-lera
mamanger
Obukhov-Buriko
impulsmc715
miumiumeaow
Егоркина
hacker-xx1
▲