Программирование на языке С#: разработка консольных приложений - C#
Формулировка задачи:
Пример.
Помогите(( как этот пример переделать так чтобы: Заменить все максимальные элементы нулями.
using System;
namespace ConsoleApplication
{
class Class
{
static int [] Input ()
{
Console.WriteLine("введите размерность массива");
int n=int.Parse(Console.ReadLine());
int []a=new int[n];
for (int i = 0; i < n; ++i)
{
Console.Write("a[{0}]= ", i);
a[i]=int.Parse(Console.ReadLine());
}
return a;
}
static int Max(int[] a)
{
int max=a[0];
for (int i = 1; i < a.Length; ++i)
if (a[i] > max) max=a[i];
return max;
}
static void Main()
{
int[] myArray=Input();
int max=Max(myArray);
int kol=0;
for (int i=0; i<myArray.Length;++i)
if (myArray[i]==max)++kol;
Console.WriteLine("Количество максимальных элементов = "+kol);
}
}
}
Дан массив размером n×n, элементы которого целые числа.
Пример.
using System;
namespace ConsoleApplication
{
class Class
{
static int [,] Input (out int n)
{
Console.WriteLine("введите размерность массива");
Console.Write("n = ");
n=int.Parse(Console.ReadLine());
int [,]a=new int[n, n];
for (int i = 0; i < n; ++i)
for (int j = 0; j < n; ++j)
{
Console.Write("a[{0},{1}]= ", i, j);
a[i, j]=int.Parse(Console.ReadLine());
}
return a;
}
static void Print(int[,] a)
{
for (int i = 0; i < a.GetLength(0); ++i,Console.WriteLine() )
for (int j = 0; j < a.GetLength(1); ++j)
Console.Write("{0,5} ", a[i, j]);
}
static double Rezalt(int[,] a)
{
int k=0;
double s=0;
for (int i = 0; i < a.GetLength(0); ++i)
for (int j = i+1; j < a.GetLength(1); ++j)
if (a[i, j] %2!= 0) {++k; s+=a[i, j];}
if (k!=0) return s/k;
else return 0;
}
static void Main()
{
int n;
int[,] myArray=Input(out n);
Console.WriteLine("Исходный массив:");
Print(myArray);
double rez=Rezalt(myArray);
Console.WriteLine("Среднее арифметическое ={0:f2}", rez);
}
}
}Задание Практической работы. Подсчитать сумму элементов, расположенных на побочной диагонали.
Дан массив размером n×n, элементы которого целые числа.
Найти максимальный элемент в каждой строке и записать данные в новый массив.
Пример
using System;
namespace ConsoleApplication
{
class Class
{
static int [][] Input ()
{
Console.WriteLine("введите размерность массива");
Console.Write("n = ");
int n=int.Parse(Console.ReadLine());
int [][]a=new int[n][];
for (int i = 0; i < n; ++i)
{
a[i]=new int [n];
for (int j = 0; j < n; ++j)
{
Console.Write("a[{0},{1}]= ", i, j);
a[i][j]=int.Parse(Console.ReadLine());
}
}
return a;
}
static void Print1(int[] a)
{
for (int i = 0; i < a.Length; ++i)
Console.Write("{0,5} ", a[i]);
}
static void Print2(int[][] a)
{
for (int i = 0; i < a.Length; ++i,Console.WriteLine() )
for (int j = 0; j < a[i].Length; ++j)
Console.Write("{0,5} ", a[i][j]);
}
static int Max(int[] a)
{
int max=a[0];
for (int i = 1; i < a.Length; ++i)
if (a[i] >max) {max=a[i];}
return max;
}
static void Main()
{
int[][] myArray=Input();
Console.WriteLine("Исходный массив:");
Print2(myArray);
int[]rez=new int [myArray.Length];
for (int i=0;i<myArray.Length; ++i)
rez[i]=Max(myArray[i]);
Console.WriteLine("Новый массив:");
Print1(rez);
}
}
}Задание. Четные столбцы таблицы заменить на вектор X.
Решение задачи: «Программирование на языке С#: разработка консольных приложений»
textual
Листинг программы
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int N;
Console.WriteLine("N=");
N = int.Parse(Console.ReadLine());
int[,] massiv = new int[N, N];
int[] vektor = new int[N];
Random rand = new Random((int)DateTime.Now.Ticks);
//заполнение матрицы рандомно
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
massiv[i, j] = rand.Next(0, 100);
}
}
//заполнение вектора рандомно
for (int i = 0; i < N; i++)
{
vektor[i] = rand.Next(0, 100);
}
//выводим массив
Console.WriteLine("Массив:");
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
Console.Write(massiv[i, j] + " ");
}
Console.WriteLine();
}
//выводим вектор
Console.WriteLine("\nВектор");
for (int i = 0; i < N; i++)
{
Console.Write(vektor[i] + " ");
}
//собственно замена
for (int j = 2; j < N; j += 2)
{
for (int i = 0; i < N; i++)
{
massiv[i, j] = vektor[i];
}
}
//выводим результат
Console.WriteLine("\nЗамененный массив:");
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
Console.Write(massiv[i, j] + " ");
}
Console.WriteLine();
}
Console.ReadKey();
}
}
}