Найти наибольший элемент массива и поменять его местами с элементом, стоящим в левом верхнем углу - 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();