Другие языки программирования и технологии
Нужен код программы для Осуществления циклического сдвига элементов прямоугольной матрицы на n элементов вправо в с#
Осуществить циклический сдвиг элементов прямоугольной матрицы на п элементов вправо (в зависимости от введенного режима) , п может быть больше количества элементов в строке или столбце. В с #
> в зависимости от введенного режима
Что это значит?
using System;
namespace N81294473
{
class Program
{
static void Main(string[] args)
{
Random rnd = new Random();
int n = rnd.Next(3, 11);
int m = rnd.Next(3, 20);
int[,] a = new int[n, m];
Console.WriteLine("Дана матрица {0}x{1}:", n, m);
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
a[i, j] = rnd.Next(-99, 100);
Console.Write("{0, 4}", a[i, j]);
}
Console.WriteLine();
}
Console.Write("Введите величину сдвига: ");
int k;
while (!int.TryParse(Console.ReadLine(), out k))
Console.Write("Ошибка! Повторите ввод: ");
for (int b = 1; b <= k; b++)
for (int i = 0; i < n; i++)
{
int t = a[i, m - 1];
for (int j = m - 1; j > 0; j--)
a[i, j] = a[i, j - 1];
a[i, 0] = t;
}
Console.WriteLine("Сдвинутая матрица: ");
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
Console.Write("{0, 4}", a[i, j]);
Console.WriteLine();
}
Console.ReadKey();
}
}
}
Что это значит?
using System;
namespace N81294473
{
class Program
{
static void Main(string[] args)
{
Random rnd = new Random();
int n = rnd.Next(3, 11);
int m = rnd.Next(3, 20);
int[,] a = new int[n, m];
Console.WriteLine("Дана матрица {0}x{1}:", n, m);
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
a[i, j] = rnd.Next(-99, 100);
Console.Write("{0, 4}", a[i, j]);
}
Console.WriteLine();
}
Console.Write("Введите величину сдвига: ");
int k;
while (!int.TryParse(Console.ReadLine(), out k))
Console.Write("Ошибка! Повторите ввод: ");
for (int b = 1; b <= k; b++)
for (int i = 0; i < n; i++)
{
int t = a[i, m - 1];
for (int j = m - 1; j > 0; j--)
a[i, j] = a[i, j - 1];
a[i, 0] = t;
}
Console.WriteLine("Сдвинутая матрица: ");
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
Console.Write("{0, 4}", a[i, j]);
Console.WriteLine();
}
Console.ReadKey();
}
}
}
1)создаете подпрограмму сдвига элементов матрицы вправо на 1 элемент вправо
и вызываете ее N раз
на С# не умею а на vba код сдвига строки на 1 выглядит:
bb = MM(nn)
for ii = 1 to nn-1
aa = MM(ii+1)
MM(ii+1)) = MM(ii)
next ii
MM(1) = bb
думаю что на C# сможете перевести
и вызываете ее N раз
на С# не умею а на vba код сдвига строки на 1 выглядит:
bb = MM(nn)
for ii = 1 to nn-1
aa = MM(ii+1)
MM(ii+1)) = MM(ii)
next ii
MM(1) = bb
думаю что на C# сможете перевести
Похожие вопросы
- Помогите написать программу на с++ Циклический сдвиг элементов массива вправо Массив 20 элементов, random
- как решить? Найти сумму элементов прямоугольной матрицы X(n,m), находящихся по периметру этой матрицы. язык: С++
- помогите пожалуйста кто смыслит в C# или в C++, очень нужна ваша помощь, нужен код программы, точнее двух
- Нужен код программы, C++
- Помогите испрвить код Переписать первые элементы каждой строки матрицы a(n*m), больше некоторого числа C, в массив b .
- Дана целочисленная прямоугольная матрица переставить строки матрицы по возрастанию сумм положительных элементов
- Если в заданной матрице A(N, N) есть хотя бы один элемент, боль-ший ста, то элементы обеих диагоналей замените нулям
- Найти минимальный элемент в матрице
- Упорядочить по возрастанию элементы каждой строки матрицы размером n х n.
- Дана матрица размером n x m. Найти наибольший положительный и наименьший отрицательный элементы матрицы.