- •Введение
- •Контрольная работа № 1 разработка приложений в microsoft visual studio 2008
- •Теоретические сведения Интерфейс Microsoft Visual Studio 2008
- •Создание консольного приложения
- •Построение xml-отчета по выполненному проекту
- •Создание приложения Windows Forms
- •Контрольные вопросы
- •Содержание и порядок выполнения работы
- •Контрольная работа № 2
- •Теоретические сведения Структура программы. Переменные и выражения
- •Литеральные константы
- •Операции и их старшинство
- •Операторы c#
- •If(выражение1) if(выражение2) if(выражение3) ...
- •Контрольные вопросы
- •Содержание и порядок выполнения работы
- •Примеры решения задач
- •Контрольная работа № 3 техника работы с массивами. Процедуры и функции
- •Теоретические сведения
- •Базовый класс для массивов
- •Процедуры и функции
- •Синтаксис методов
- •Формальные и фактические аргументы
- •Соответствие формальных и фактических аргументов
- •Функции с побочным эффектом
- •Функция Main()
- •Контрольные вопросы
- •Содержание и порядок выполнения работы
- •Примеры решения задач
- •Контрольная работа № 4 перечисления и структуры
- •Теоретические сведения
- •Базовый класс перечислений - System.Enum
- •Структуры
- •Контрольные вопросы
- •Содержание и порядок выполнения работы
- •Пример решения задачи
- •Контрольная работа № 5 обработка символов и строк
- •Теоретические сведения
- •Контрольные вопросы
- •Содержание и порядок выполнения работы
- •Примеры решения задачи
- •Контрольная работа № 6 проектирование классов. Составление программ с использованием ооп
- •Теоретические сведения
- •Контрольные вопросы
- •Содержание и порядок выполнения работы
- •Пример решения задачи
- •Заключение
- •Библиографический список
- •Оглавление
- •394026 Воронеж, Московский просп., 14
Примеры решения задач
Дан массив действительных чисел. Создать новый массив, в который поместить элементы в следующем порядке: максимальный – минимальный, максимальный из оставшихся – минимальный из оставшихся и т.д.
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);}
}
}
}