В массиве поменять местами столбцы и строки - C#
Формулировка задачи:
Есть массив 5х5, нужно сначала поменять столбцы в нужном порядке (вместо 01234 поменять на 32410) и таким же образом строки (вместо 01234 поменять на 20314).
Скажите, в чем проблема, я сделал, но не всегда выводить правильно..
i0,i1,i2,i3,i4,j0,j1,j2,j3,j4 - номера строк и столбцов.
Массив kript[,] является дубликатом массива mass[,]
for (i = 0; i < 5; i++) { kript[i, 0] = mass[i, j0]; kript[i, 1] = mass[i, j1]; kript[i, 2] = mass[i, j2]; kript[i, 3] = mass[i, j3]; kript[i, 4] = mass[i, j4]; } for (i = 0; i < 5; i++) { for (j = 0; j < 5; j++) { mass[i, j] = kript[i, j]; } } for (j = 0; j < 5; j++) { kript[0, j] = mass[i0, j]; kript[1, j] = mass[i1, j]; kript[2, j] = mass[i2, j]; kript[3, j] = mass[i3, j]; kript[4, j] = mass[i4, j]; }
Решение задачи: «В массиве поменять местами столбцы и строки»
textual
Листинг программы
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.IO; namespace BPD_Lab1 { public partial class frmMain : Form { int i1, i2, i3, i4, i0, j1, j2, j3, j4, j0; String filename; public frmMain() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { int k = 0, i, j; Char[,] mass = new Char[5, 5]; Char[,] kript = new Char[5, 5]; Char[] s1 = textBox1.Text.ToCharArray(); for (i = 0; i < 5; i++) { for (j = 0; j < 5; j++) { if (k <= s1.Length - 1) { mass[i, j] = s1[k]; k++; } else mass[i, j] = '_'; } } for (i = 0; i < 5; i++) { for (j = 0; j < 5; j++) { kript[i, j] = mass[i, j]; } } for (i = 0; i < 5; i++) { kript[i, 0] = mass[i, j0]; kript[i, 1] = mass[i, j1]; kript[i, 2] = mass[i, j2]; kript[i, 3] = mass[i, j3]; kript[i, 4] = mass[i, j4]; } for (i = 0; i < 5; i++) { for (j = 0; j < 5; j++) { mass[i, j] = kript[i, j]; } } for (j = 0; j < 5; j++) { kript[0, j] = mass[i0, j]; kript[1, j] = mass[i1, j]; kript[2, j] = mass[i2, j]; kript[3, j] = mass[i3, j]; kript[4, j] = mass[i4, j]; } textBox2.Text = ""; for (i = 0; i < 5; i++) { for (j = 0; j < 5; j++) { textBox2.Text += kript[i, j].ToString(); } } } private void button3_Click(object sender, EventArgs e) { openFileDialog1.ShowDialog(); if (openFileDialog1.FileName != null) { filename = openFileDialog1.FileName; } textBox1.Text = File.ReadAllText(filename); } private void button4_Click(object sender, EventArgs e) { i0 = Convert.ToInt32(textBox3.Text); i1 = Convert.ToInt32(textBox4.Text); i2 = Convert.ToInt32(textBox5.Text); i3 = Convert.ToInt32(textBox6.Text); i4 = Convert.ToInt32(textBox7.Text); j0 = Convert.ToInt32(textBox12.Text); j1 = Convert.ToInt32(textBox11.Text); j2 = Convert.ToInt32(textBox10.Text); j3 = Convert.ToInt32(textBox9.Text); j4 = Convert.ToInt32(textBox8.Text); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д