Условие задачи – даны целочисленные массивы C[15], D[15]. Каждый массив пpеобpазовать по пpавилу: если компоненты массива упорядочены по возрастанию, то все положительные компоненты следует заменить на значение 0, в противном случае массивы оставить без изменений.
В данной задаче необходимо написать программу, выполняющую следующие действия:
1. Ввод исходных массивов C и D.
2. Вывод на экран исходных массивов.
3. Преобразование массивов.
4. Вывод на экран измененных массивов.
Поскольку перечисленные действия должны быть выполнены дважды (для каждого из массивов), то данную программу следует оформить в виде функций (то есть каждое из перечисленных действий - это отдельная функция).
Пусть
input() - функция ввода данных
output() - функция вывода на экран
preobr() - функция преобразования массивов
Текст программы на языке C#
using System;
class Program
{
// определение функции ввода массива input()
static void input(ref int[] x, char name)
{
int i;
Console.WriteLine("Вводим массив " + name);
for (i = 0; i < 15; i++)
{
Console.Write(name + "[" + i + "]=");
x[i] = Convert.ToInt16(Console.ReadLine());
}
}
// определение функции вывода массива output()
static void output(int[] x, string zag)
{
int i;
Console.WriteLine("\n\n" + zag + "\n");
for (i = 0; i < 15; i++)
Console.Write("{0,5}", x[i]);
}
// определение функции преобразования массива preobr()
static void preobr(int[] m)
{
int i, prizn;
prizn = 1; // вспомогательная переменная - если ее значение не
// изменится, значит массив упорядочен по возрастанию
for (i = 0; i < 14; i++)
if (m[i + 1] <= m[i])
// последующий элемент массива не больше предыдущего,
// следовательно, массив не упорядочен по возрастанию
{
prizn = 0; // изменили значение признака
break; // вышли из цикла, так как массив не упорядочен
// и до конца выполнять цикл не имеет смысла
}
if (prizn == 1)
// массив упорядочен по возрастанию - заменяем положительные
// элементы на нули
for (i = 0; i < 15; i++)
if (m[i] > 0)
m[i] = 0;
Console.WriteLine("\n\nprizn={0}", prizn);
for (i = 0; i < 15; i++)
Console.Write("{0,5}", m[i]);
}
static void Main(string[] args)
{
// объявление массивов и переменных
int [] c = new int [15];
int [] d = new int [15];
// обращение к функциям (вызов для выполнения):
input(ref c, 'c'); // в функцию в качестве аргументов передается
input(ref d, 'd'); // массив и его имя (символ в апострофах)