Перевернуть каждую 3 строку массива - C#
Формулировка задачи:
В каждой третей строке некоторые элементы становятся нулями. Что исправить?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введите количество строк");
int n = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите количество столбцов");
int m = Convert.ToInt32(Console.ReadLine());
int[,] mas = new int[100, 100];
int[] mas1 = new int[100];
Random r = new Random();
Console.WriteLine("Исходный массив:");
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
mas[i, j] = r.Next(10);
Console.Write(mas[i, j] + " ");
}
Console.WriteLine();
}
for (int i = 0; i < n; i++) {
if (i % 3==0) {
for (int j = 0; j < m; j++) {
mas1[j] = mas[i, m - j + 1];
}
for (int j = 0; j < m; j++) { mas[i, j] = mas1[j]; }
}
}
Console.WriteLine("Преобразованный массив:");
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
Console.Write(mas[i, j] + " ");
}
Console.WriteLine();
}
Console.ReadKey();
}
}
}Решение задачи: «Перевернуть каждую 3 строку массива»
textual
Листинг программы
for (int i = 0; i < n; i++)
{
if (i % 3 == 0)
{
for (int j = 0; j < m/2; j++)
{
int tmp = mas[i, j];
mas[i, j] = mas[i, m - j - 1];
mas[i, m - j - 1] = tmp;
}
}
}