Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
контрольная ООП.docx
Скачиваний:
6
Добавлен:
02.04.2015
Размер:
84.12 Кб
Скачать

Задача 2

Условие задачи - даны вещественные массивы A[3,4], D[3,4]. Для каждого массива определить сумму положительных элементов, расположенных в четных столбцах и сумму положительных элементов, расположенных в нечетных столбцах.

В данной задаче должны быть реализованы:

1. Ввод исходных массивов.

2. Расчет суммы положительных элементов в четных столбцах массива и

суммы положительных элементов в нечетных столбцах массива.

3. Вывод на экран исходного массива и полученного результата.

Каждую операцию оформим в виде отдельной функции.

Пусть:

input() - функция ввода массива

schetsum() - функция расчета сумм положительных элементов в четных и

нечетных столбцах массива

output() - функция вывода исходного массива и полученных результатов

using System;

class Mas

{

private float [, ] m = new float [3, 4];

float sum_ch, sum_nch;

public void input (char name)

{

int i, j;

Console.WriteLine("Вводим массив " + name);

for (i=0; i<3; i++)

for (j=0; j<4; j++)

{

Console.Write("Введите {0}[{1},{2}]= " ,name, i, j);

m[i,j] = Convert.ToSingle(Console.ReadLine());

}

}

public void schetsum ()

{

int i,j;

sum_ch = 0;

sum_nch = 0;

// будем считать четными столбцы с индексами 0 и 2,

// а нечетными - с индексами 1 и 3

// расчет суммы в четных столбцах

for (j=0; j<4; j+=2)

for (i=0; i<3; i++)

if ( m[i,j] > 0 )

sum_ch += m[i,j];

// расчет суммы в нечетных столбцах

for (j=1; j<4; j+=2)

for (i=0; i<3; i++)

if ( m[i,j] > 0 )

sum_nch += m[i,j];

}

public void output (char name)

{

int i,j;

Console.WriteLine("Исходный массив {0}: ",name);

for (i=0; i<3; i++)

{

for (j=0; j<4; j++)

Console.Write("{0,8:########.###}",m[i,j]);

Console.WriteLine();

}

Console.WriteLine("Сумма положительных элементов в четных столбцах массива " +

name + " равна " + sum_ch);

Console.WriteLine("Сумма положительных элементов в нечетных столбцах " +

name + " равна " + sum_nch);

}

}

class Prog

{

static void Main()

{

Mas a = new Mas();

Mas d = new Mas();

a.input ('a');

d.input ('d');

a.schetsum();

d.schetsum();

a.output('a');

d.output('d');

Console.ReadLine();

}

}

Вариант 2

using System;

class Mas

{

private float [, ] m = new float [3, 4];

public void input (char name)

{

int i, j;

Console.WriteLine("Вводим массив " + name);

for (i=0; i<3; i++)

for (j=0; j<4; j++)

{

Console.Write("Введите {0}[{1},{2}]= " ,name, i, j);

m[i,j] = Convert.ToSingle(Console.ReadLine());

}

}

public void schetsum (out float sum_ch, out float sum_nch)

{

int i,j;

sum_ch = 0;

sum_nch = 0;

// будем считать четными столбцы с индексами 0 и 2,

// а нечетными - с индексами 1 и 3

// расчет суммы в четных столбцах

for (j=0; j<4; j+=2)

for (i=0; i<3; i++)

if ( m[i,j] > 0 )

sum_ch += m[i,j];

// расчет суммы в нечетных столбцах

for (j=1; j<4; j+=2)

for (i=0; i<3; i++)

if ( m[i,j] > 0 )

sum_nch += m[i,j];

}

public void output (char name, float sum_ch, float sum_nch)

{

int i,j;

Console.WriteLine("Исходный массив {0}: ",name);

for (i=0; i<3; i++)

{

for (j=0; j<4; j++)

Console.Write("{0,8:########.###}",m[i,j]);

Console.WriteLine();

}

Console.WriteLine("Сумма положительных элементов в четных столбцах массива " +

name + " равна " + sum_ch);

Console.WriteLine("Сумма положительных элементов в нечетных столбцах " +

name + " равна " + sum_nch);

}

}

class Prog

{

static void Main()

{

Mas a = new Mas();

Mas d = new Mas();

float sum_cha, sum_ncha, sum_chd, sum_nchd;

a.input ('a');

d.input ('d');

a.schetsum(out sum_cha, out sum_ncha);

d.schetsum(out sum_chd, out sum_nchd);

a.output('a', sum_cha, sum_ncha);

d.output('d', sum_chd, sum_nchd);

Console.ReadLine();

}

}