Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
387.doc
Скачиваний:
11
Добавлен:
30.04.2022
Размер:
3.51 Mб
Скачать

Примеры решения задач

Дан массив действительных чисел. Создать новый массив, в который поместить элементы в следующем порядке: максимальный – минимальный, максимальный из оставшихся – минимальный из оставшихся и т.д.

using System;

namespace з1

{

class Class1

{

static void Main(string[] args)

{

Console.WriteLine("Введите размерность");

double[] A=new double[Convert.ToInt32(Console.ReadLine())];

double[] C=new double[A.Length];

double[] Sort=new double[A.Length];

for (int i=0; i<A.Length; i++)

{

int h=i;

Console.WriteLine("Введите элемент "+(++h));

A[i]=Convert.ToDouble(Console.ReadLine());

}

Array.Copy(A,0,C,0,A.Length);

for (int i=0; i<(C.Length/2)+(C.Length%2); i++)

{

double max=C[i];

int nom=i;

for (int j=i; j<C.Length; j++)

{

if (C[j]>max)

{

max=C[j];

nom=j;

}

}

double f=C[i];

C[i]=max;

C[nom]=f;

}

for (int i=0; i<Sort.Length; i++)

{

int h=i*2;

if (i<Sort.Length/2+(Sort.Length%2))

{

Sort[h]=C[i];

}

else

{

Sort[2*C.Length-h-1]=C[i];

}

}

Console.WriteLine("\n"+"Исходный вектор");

for (int j=0; j<A.Length; j++)

{

Console.Write(A[j]+"\t");

}

Console.WriteLine("\n"+"\n"+"Результат");

for (int j=0; j<Sort.Length; j++)

{

Console.Write(Sort[j]+"\t");

}

}

} }

Даны матрица Х размерности m*n и вектор А размерности k. Сформировать новую матрицу, в которой все элементы, совпадающие с элементами вектора А, заменены на нули. Если есть строки и столбцы, в которых все элементы равны нулю, то вывести сообщение.

class Class1

{

static void Main(string[] args)

{

Console.WriteLine("Введите количество строк матрицы");

int m=Convert.ToInt32(Console.ReadLine());

Console.WriteLine("Введите количество столбцов матрицы");

int n=Convert.ToInt32(Console.ReadLine());

double[,] matr=new double [m,n];

//Ввод матрицы

for (int i=0; i<m; i++)

{

for (int j=0; j<n; j++)

{ int h=i,g=j;

Console.WriteLine("Введите элемент "+(++h)+(++g));

matr[i,j]=Convert.ToDouble(Console.ReadLine());

}

}//Конец ввода матрицы

//Ввод вектора

Сonsole.WriteLine("Введите размерность вектора");

int k=Convert.ToInt32(Console.ReadLine());

double[] vect=new double [k];

for (int t=0; t<k; t++)

{

int r=t;

Console.WriteLine("Введите "+(++r)+"-й элемент вектора");

vect[t]=Convert.ToDouble(Console.ReadLine());

}//Конец ввода вектора

double [,] newMatr=new double[m,n];

Array.Copy(matr,0,newMatr,0,matr.Length);

//Сравнение матрицы и вектора

for (int i=0; i<m; i++)

{ for (int j=0; j<n; j++)

{

foreach (double el in vect)

{ if (el==newMatr[i,j])

{

newMatr[i,j]=0;

}

}

}

}//Конец сравнения

Console.Write("\n"+"==Исходная матрица=="+"\n");

for (int i=0; i<m; i++)

{

for (int j=0; j<n; j++)

{

Console.Write(matr[i,j]+"\t");

}

Console.WriteLine();

}

Console.Write("\n"+"==Исходный вектор=="+"\n");

foreach(double el in vect) Сonsole.Write(el+"\t");

Console.Write("\n"+"\n"+"==Результат=="+"\n");

for (int i=0; i<m; i++)

{

for (int j=0; j<n; j++)

{

Console.Write(newMatr[i,j]+"\t");

}

Console.WriteLine();

}

//Проверка строк

for (int i=0; i<m; i++)

{ bool flag=true;

for (int j=0; j<n; j++) if (newMatr[i,j]!=0) {flag=false;};

int h=i;

if (flag) {Console.WriteLine("В {0}-й строке все элементы равны 0!",h+1);}

//Проверка столбцов

for (int j=0; j<n; j++)

{ bool flag=true;

for (int i=0; i<m; i++) if (newMatr[i,j]!=0) {flag=false;};

int h=j;

if (flag)

{Console.WriteLine("В {0}-м столбце все элементы равны 0!",h+1);}

}

}

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]