using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
int row, col; //строки, стлобцы
Console.WriteLine("Введите количecтво строк:");
row = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите количеcтво столбцов:");
col = Convert.ToInt32(Console.ReadLine());
//матрица символов
char[,] Matrix = new char[row, col];
Console.WriteLine("Заполните матрицу:");
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
Matrix[i, j] = Convert.ToChar(Console.ReadLine());
}
}
// новый одномерный массив символов
char[] myArray = toArray(Matrix, row, col);
//вывод на экран
Console.WriteLine("Новый массив:");
for (int i = 0; i < myArray.Length;i++)
{
Console.Write(myArray.ToString() + " ");
}
// новая матрица
Console.WriteLine("\nHовая матрица:");
char[,] newMatrix = toMatrix(myArray,row, col);
for (int i = 0; i < row; i++)
{
Console.WriteLine();
for (int j = 0; j < col; j++)
{
Console.Write(newMatrix[i,j]+" ");
}
}
}
// из матрицы в одномерный массив
static char[] toArray(char[,] mas, int row, int col)
{
char[] newCharArray = new char[mas.Length];
int k = 0;
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
newCharArray[k] = mas[i, j];
k++;
}
}
return newCharArray;
}
//из одномерного массива в матрицу
static char[,] toMatrix(char[] mas, int row, int col)
{
int k = 0;
char[,] newCharMatrix = new char[row, col];
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
newCharMatrix[i, j] = mas[k];
k++;
}
}
return newCharMatrix;
}
}
}
помогите! работа с символами
Очень нужна помощь:confused:
Код:
Ну как-то так. Конечно нехорошо то, что количество строк и столбцов передается в функции, по моему мнению в идеале, оно должно высчитываться внутри функции, но вычисление количества строк и столбцов матрицы через длину одномерного массива у меня не получилось :(