Найти наибольший элемент массива и поменять его местами с элементом, стоящим в левом верхнем углу - C# (210622)

Узнай цену своей работы

Формулировка задачи:

1. Дан двумерный массив размером 12х12. Найти наибольший элемент массива и поменять его местами с элементом, стоящим в левом верхнем углу. решите,,,, че то не выходит
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace bes_1_
{
    class Program
    {             
        public static Random r=new Random();
        public static int GRN(short Limit)
        { return r.Next(Limit);}
        static void Main(string[] args)
        { int [,] a=new int[12,12];
        for (int i = 0; i < 12; i++)
        {
            for (int j = 0; j < 12; j++)
            {
                a[i, j] = GRN(10);
                Console.Write("{0}   ", a[i, j]); 
            }
            Console.WriteLine("\t");
        }
        Console.WriteLine();
        Console.WriteLine("1-число = {0}", a[0,0]);

            int max = a[0,0];
            for (int i = 0; i < 12; i++)
            {
                for (int j = 0; j < 12; j++)
                if (max <= a[i,j])
                {
                    max = a[i,j];
                    int r = i;
                    int t = j;
                    int ss ;
                    ss = a[0,0];
                    a[0,0] = a[r,t];
                    max = a[0, 0];
                }  
            }            
            Console.WriteLine("MAX = {0} ", max);
            Console.WriteLine();
            Console.WriteLine();
 
          for (int i = 0; i < 12; i++)          
          {
                for (int j = 0; j < 12; j++)
               Console.Write("{0}   ", a[i,j]);
               Console.WriteLine("\t");
            } 
            Console.ReadKey();
        }
    }
}

Решение задачи: «Найти наибольший элемент массива и поменять его местами с элементом, стоящим в левом верхнем углу»

textual
Листинг программы
int max = a[0,0];
// ищем максимум 
for (int i = 0; i < 12; i++)
{
for (int j = 0; j < 12; j++)
     {    if (max <a[i,j])
              max = a[i,j];
     } 
}
Console.WriteLine("MAX = {0} ", max);
Console.WriteLine();
int temp=0;
// производим замену
for (int i = 0; i < 12; i++) 
     {
      for (int j = 0; j < 12; j++)
           {
            if (a[i,j]==a[0,0])  {temp=a[0,0]; a[0,0]=max;}
            if (a[i,j]==max) a[i,j]=temp;
            Console.Write("{0} ", a[i,j]);
           }
           Console.WriteLine();
      }
 
Console.ReadKey();

Оцени полезность:

14   голосов , оценка 3.857 из 5
Похожие ответы