Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Алгоритм

Читайте также:
  1. RSVP алгоритммен тарату жүйесіне QoS-көрсеткішінің табу әдістемесі
  2. Алгоритм введения и изменения заряда точки привязки
  3. Алгоритм венгерского метода
  4. Алгоритм визначення рейтингової оцінки
  5. Алгоритм выполнения работы по созданию ТТПК
  6. Алгоритм выполнения.

Рассуждения

Задача состоит из нескольких частей:

1. Вычислить количество элементов массива, больших заданного С

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

2.1. Определить положение максимального по модулю элемента

2.2. Вычислить произведение

3. Преобразовать массив таким образом, чтобы сначала располагались все отрицательные элементы, а потом — все положительные (элементы, равные 0, считать положительными).

Тестовый пример

 

 

Алгоритм

 

 

namespace RGZ7

{

class Program

{

static void Main(string[] args)

{

Random rnd = new Random();

int n = rnd.Next(5, 14);

double[] a = new double[n];

int i = 0;

Console.WriteLine("Исходный массив");

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

{

Console.Write("{0,6}", i);

}

Console.WriteLine();

 

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

{

a[i] = -5+10*rnd.NextDouble();

Console.Write("{0,6:f2}", a[i]);

}

 

Console.WriteLine();

double C = -2;

double f = 0;

Console.WriteLine("Количество элементов массива, больших заданного C");

for (i = 0; i < a.Length; i++)

{

if (a[i] > C)

{

f = f + 1;

}

}

Console.WriteLine("{0,6:f2}", f);

 

Console.WriteLine("Номер максимального по модулю элемента");

double max = Math.Abs (a[0]);

int iMax = 0;

for (i = 0; i < a.Length; i++)

{

if (Math.Abs(a[i]) > max)

{

max = Math.Abs (a[i]);

iMax = i;

}

}

Console.WriteLine("{0,6:f2}", iMax);

 

Console.WriteLine("Элементы массива, расположенные после максимального по модулю элемента");

double pr = 1;

for (i = iMax + 1; i < n; i++)

{

Console.Write("{0,6:f2}", a[i]);

pr *= a[i];

}

Console.WriteLine();

 

Console.WriteLine("Их произведение: {0,6:f2}", pr);

 

Console.WriteLine("Преобразованный массив");

double[] b = new double[n];

int k = -1;

 

for (i = 0; i < a.Length; i++)

{

if (a[i] < 0)

{

k++;

b[k] = a[i];

 

}

}

 

for (i = 0; i < a.Length; i++)

{

if (a[i] > 0)

{

k++;

b[k] = a[i];

 

}

}

 

for (i = 0; i < a.Length; i++)

{

Console.Write("{0,6:f2}", b[i]);

}

Console.WriteLine();

}

}

}

 


Дата добавления: 2015-09-06; просмотров: 180 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Обследование в салоне транспортных средств| Божья благодать ко мне бесконечна, верю я

mybiblioteka.su - 2015-2024 год. (0.006 сек.)