2013-03-29 2 views
1

Хорошо, так как название говорит, что мне нужна помощь в поиске простого способа добавления двух массивов. Это мой код до сих пор:C# Добавление двух 2-мерных массивов

static void Main() 
{ 
    Console.Write("Enter Rows: "); 
    int row = Convert.ToInt32(Console.ReadLine()); 
    Console.Write("Enter Columns: "); 
    int col = Convert.ToInt32(Console.ReadLine()); 
    int[,] a = new int[row, col]; 
    for (int i = 0; i < row; i++) 
    { 
     for (int j = 0; j < col; j++) 
     { 
      Console.Write("Enter Matrix({0},{1}): ", i, j); 
      a[i, j] = Convert.ToInt32(Console.ReadLine()); 
     } 
    } 
    int[,] b = new int[row, col]; 
    for (int i = 0; i < row; i++) 
    { 
     for (int j = 0; j < col; j++) 
     { 
      Console.Write("Enter Matrix({0},{1}): ", i, j); 
      a[i, j] = Convert.ToInt32(Console.ReadLine()); 
     } 
    } 

Итак, как бы я добавить эти два массива вместе, и распечатать результат. Спасибо.

+2

Вы пытаетесь добавить один из них в другую, или создать третий массив? Вам даже нужно * поставить результат в другой массив, если вы просто распечатываете его? Вы четко знаете, как перемещаться по каждому элементу массива - подумайте о том, что вам нужно сделать для добавления. Также обратите внимание, что в настоящее время вы вообще не используете 'b' ... Я подозреваю, что вы имели в виду во втором цикле. –

+1

Что вы подразумеваете под «добавлением»? сумма значений в одном и том же положении или конкатенация массивов? – niculare

+0

Я предполагаю, что он означает «матричное дополнение». –

ответ

4
static void Main() 
{ 
    // Your code 

    int[,] result = new int[row, col]; 

    for (int i = 0; i < row; i++) 
    { 
     for (int j = 0; j < col; j++) 
     { 
      result [i, j] = a[i,j] + b[i,j]; 

      Console.Write(result[i, j] + " "); 
     } 

     Console.WriteLine(); 
    } 
} 
+0

Ха-ха, вот и все! Спасибо. – LostStudent

+0

ОК. не забудьте изменить второй 'a [i, j] = Convert.ToInt32 (Console.ReadLine());' to 'b [i, j] = Convert.ToInt32 (Console.ReadLine());' –

0
int m, n, c, d; 
int[,] first = new int[10, 10]; 
int[,] second = new int[10, 10]; 
int[,] sum = new int[10, 10]; 

Console.WriteLine("Enter the number of rows and columns of matrix"); 
m = Convert.ToInt16(Console.ReadLine()); 
n = Convert.ToInt16(Console.ReadLine()); 
Console.WriteLine("\nEnter the elements of first matrix\n"); 

for (c = 0; c < m; c++) 
    for (d = 0; d < n; d++) 
    { 
     Console.WriteLine("Enter Element [" + c + " , " + d + "]"); 
     first[c, d] = Convert.ToInt16(Console.ReadLine()); 
    } 

Console.WriteLine("Enter the elements of second matrix"); 
for (c = 0; c < m; c++) 
    for (d = 0; d < n; d++) 
    { 
     Console.WriteLine("Enter Element [" + c + " , " + d + "]"); 
     second[c, d] = Convert.ToInt16(Console.ReadLine()); 
    } 

for (c = 0; c < m; c++) 
    for (d = 0; d < n; d++) 
     sum[c, d] = first[c, d] + second[c, d]; 

Console.WriteLine("Sum of entered matrices:-"); 
for (c = 0; c < m; c++) 
{ 
    for (d = 0; d < n; d++) 
     Console.Write(" " + sum[c, d]); 
    Console.WriteLine(); 
} 
Console.ReadKey();