Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 36
1

Сформировать матрицу из элементов одномерного массива

21.04.2013, 12:55. Показов 2414. Ответов 6
Метки нет (Все метки)

Добрый день народ.Подскажите каким образом мне забить двумерный целочисленный массив размернойсть 3х4, значениями из обномерного массива строкового типа(в строковом массиве записаны числа).
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.04.2013, 12:55
Ответы с готовыми решениями:

Сформировать матрицу из элементов одномерного массива
сформировать случайный одномерный массив А из 6 элементов. переслать все числа из одномерного...

Сформировать матрицу из элементов одномерного массива по правилу
Всем привет) Решаю задачу: Одномерный массив случайных 9 чисел, заданных в диапазоне от -10 до 10 ...

Из одномерного массива сформировать матрицу
Здравствуйте, форумчане, выручите пожалуйста. Вот такое задание по информатике: Задан массив из...

Сформировать матрицу из одномерного массива
Ребята нужна помощь. Как понимать эту часть условия. Благодарен за любой ответ! По массиву X(n)...

6
657 / 527 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
21.04.2013, 13:08 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using System;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main( string[] args )
        {
            Random r = new Random();
 
            int[] masline = new int[ 12 ];
            for ( int i = 0; i < masline.Length; i++ )
                masline[ i ] = r.Next( 0, 101 );
 
            int[,] matrix = new int[ 3, 4 ];
            for ( int i = 0; i < matrix.GetLength( 0 ); i++ )
            {
                for ( int j = 0; j < matrix.GetLength( 1 ); j++ )
                {
                    matrix[ i, j ] = masline[ j + i * 4 ];
                    Console.Write( matrix[ i, j ] + " " );
                }
                Console.WriteLine();
            }
 
            Console.ReadKey( true );
        }
    }
}
0
182 / 182 / 29
Регистрация: 14.04.2013
Сообщений: 499
21.04.2013, 13:24 3
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main( string[] args )
        {
            string[]s=new string[12];//Здесь числа должны быть строками записаны
            int[][] mas = new int[3][4];
            int k=0;
            for ( int i = 0; i < 3; i++ )
                for(int j=0;j<4;j++)
                    mas[ i ][ j ] = Convert.ToInt32(s[k++]);
            for ( int i = 0; i < 3; i++ )
            {
                for ( int j = 0; j < 4; j++ )
                {
                    Console.Write( mas[ i ][  j ] + " " );
                }
                Console.WriteLine();
            }
 
            Console.ReadLine();
        }
    }
}
0
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 36
21.04.2013, 13:28  [ТС] 4
Ошибку выдает;индекс находиться вне границ массива
Вот мой код.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
 
namespace ConsoleApplication5
{
    class Program
    {
        static void Main()
        {
            FileStream input = new FileStream("input.txt", FileMode.Open);
            FileStream output = new FileStream("output.txt", FileMode.Open);
            StreamReader sr = new StreamReader(input, Encoding.Default);
            StreamWriter sw = new StreamWriter(output, Encoding.Default);
            int m = 0;
            int n = 0;
            string[] str_ar;
            int[,] mas={};
            string [] massiv={};
            int max = 0;
            int min = 0;
            string text = sr.ReadToEnd();
 
            string[] mas_str = text.Split(new string[5] { "M=", "N=", "\r\n", ",", " " }, StringSplitOptions.RemoveEmptyEntries);
            m = int.Parse(mas_str[0]);
            n = int.Parse(mas_str[1]);
      
            for (int i = 2; i<m; i++)
            {
                for (int g = 2; g < n; g++)
                {
                   mas[i,g]=int.Parse(mas_str[g+i*m]);
                        
                }
            }
        }
    }
}
Добавлено через 4 минуты
m и n это размерность 3х4
0
657 / 527 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
21.04.2013, 13:29 5
C#
1
int[,] mas= { };
Задайте точный размер.
0
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 36
21.04.2013, 13:32  [ТС] 6
А я пока не должен значть его, он определяеться при считывание из блокнота
0
657 / 527 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
21.04.2013, 13:40 7
Ну дак определяйте его, и только тогда задавайте размеры массива, а так он без инициализации.
0
21.04.2013, 13:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.04.2013, 13:40

Из одномерного массива сформировать квадратную матрицу
Дан одномерный массив С из N элементов. Сформировать из элементов С квадратную таблицу...

Из одномерного массива сформировать квадратную матрицу
Дан одномерный массив С из N элементов. Сформировать из элементов С квадратную таблицу...

Сформировать матрицу из перестановок одномерного массива
Помогите написать программу к задаче. Дан одномерный массив.Сформировать двумерный,поменяв...

Из заданного одномерного массива сформировать квадратную матрицу
Дан одномерный массив из К элементов. Получить из него матрицу, размером N x M. Недостающие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru