using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace variant_2._2
{
class Program
{
static void Main(string[] args)
{
// массив курса валюты Казахский тенге
double[] course_one = new double[]{ 20.8014,
20.8560,
21.0003,
21.1009,
21.0741,
21.1900,
21.3346,
21.4065,
21.4324,
21.3448,
21.3195,
21.2404,
21.3066,
21.4089,
21.6051,
21.5308,
21.4703};
// двумерный массив курсов валют Казахский тенге и Армянский драм
double[,] course_two = new double[,] {{20.8014, 79.1604},
{20.8560, 79.4588},
{21.0003, 79.7803},
{21.1009, 79.8796},
{21.0741,79.7054},
{ 21.1900, 80.1475},
{ 21.3346, 80.5678},
{21.4065, 80.9664},
{21.4324, 81.0331},
{ 21.3448, 80.7096},
{21.3195, 80.6931},
{21.2404,80.4094},
{21.3066, 80.6574},
{21.4089, 80.7440},
{21.6051, 81.6772},
{ 21.5308, 81.0218},
{21.4703, 81.5523}};
int a = 0;
int b = 1;
const int size = 17; // размер массива
const int columns = 2; // количество столбцов в двумерном варианте
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine(" С 01.09.2013 по 30.09.2013 Динамика курса валюты Казахский тенге:");
Console.Write("--------------------------------------------------------------------------------");
Console.ResetColor();
for (int i = 0; i < size; ++i)//печать курса
Console.WriteLine("{0:f4} ", course_one[i]);
Console.ForegroundColor = ConsoleColor.Cyan;
Console.Write("--------------------------------------------------------------------------------");
Console.ResetColor();
// 1. Задачи для одномерного массива
// 1.1. Поиск и вывод среднего значения
double v_midle = 0;
for (int i = 0; i < size; ++i)
{
v_midle += course_one[i];
}
v_midle /= size;
Console.WriteLine("Среднее значение = {0:f4}", v_midle);
// 1.2. Поиск и вывод минимального значения
double v_min = 9999;
for (int i = 0; i < size; ++i)
{
if (course_one[i] < v_min)
v_min = course_one[i];
}
Console.WriteLine("Минимальное значение = {0:f4}", v_min);
// 1.3. Поиск и вывод максимального значения
double v_max = 0;
for (int i = 0; i < size; ++i)
{
if (course_one[i] > v_max)
v_max = course_one[i];
}
Console.WriteLine("Максимальное значение = {0:f4}", v_max);
// 1.4. Поиск и вывод cуммы квадратов разности
double s = 0;
for (int i = 0; i < size; ++i)
{
s += (course_one[i] - v_midle) * (course_one[i] - v_midle);
}
Console.WriteLine("Сумма квадратов разности = {0:f4}", s);
// 1.5. Вывод корня из cуммы квадратов разности
Console.WriteLine("Корень из суммы квадратов разности = {0:f4}", Math.Sqrt(s));
Console.ForegroundColor = ConsoleColor.Cyan;
Console.Write("--------------------------------------------------------------------------------");
Console.ResetColor();
// 1.6.
double[] answer = new double[size];
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine("\t\t\t\ttask_1:");
Console.Write("--------------------------------------------------------------------------------");
Console.ResetColor();
for (int i = 0; i < size; ++i)
{
answer[i] = (course_one[i] - v_min) /(v_min) * 100;
}
for (int i = 0; i < size; ++i)
Console.WriteLine("{0:f4} ", answer[i]);
Console.ForegroundColor = ConsoleColor.Cyan;
Console.Write("--------------------------------------------------------------------------------");
Console.ResetColor();
// 2. Задачи для двумерного массива
// 2.1. Вывод двумерного массива на консоль
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine(" \t\tС 01.09.2013 по 30.09.2013 Динамика курса валюты\n Казахский тенге:\t\t\tАрмянский драм:");
Console.Write("--------------------------------------------------------------------------------");
Console.ResetColor();
for (int i = 0; i < size; ++i)
{
for (int j = 0; j < columns; ++j)
Console.Write("{0:f4} ", course_two[i, j]);
Console.WriteLine();
}
Console.ForegroundColor = ConsoleColor.Cyan;
Console.Write("--------------------------------------------------------------------------------");
Console.ResetColor();
// 2.2. Поиск и вывод среднего значения
double v_midle2 = 0;
for (int i = 0; i < size; ++i)
{
v_midle2 += course_two[i, 0];
}
v_midle2 /= size;
Console.WriteLine("Среднее значение = {0:f4}", v_midle2);
// 2.3. Поиск и вывод минимального значения
double v_min2 = 9999;
for (int i = 0; i < size; ++i)
{
if (course_two[i, 0] < v_min2)
v_min2 = course_two[i, 0];
}
Console.WriteLine("Минимальное значение = {0:f4}", v_min2);
// 2.4. Поиск и вывод максимального значения
double v_max2 = 0;
for (int i = 0; i < size; ++i)
{
if (course_two[i, 0] > v_max2)
v_max2 = course_two[i, 0];
}
Console.WriteLine("Максимальное значение = {0:f4}", v_max2);
// 2.5. Поиск и вывод cуммы квадратов разности
double s2 = 0;
for (int i = 0; i < size; ++i)
{
s2 += (course_two[i, 0] - v_midle2) * (course_two[i, 0] - v_midle2);
}
Console.WriteLine("Сумма квадратов разности = {0:f4}", s2);
// 2.6. Вывод корня из cуммы квадратов разности
Console.WriteLine("Корень из суммы квадратов разности = {0:f4}", Math.Sqrt(s2));
Console.ForegroundColor = ConsoleColor.Cyan;
Console.Write("--------------------------------------------------------------------------------");
Console.ResetColor();
// 2.7.
double[,] answer_3 = new double[size, columns];
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine(" \t\t\t\ttask_2\n Казахский тенге:\t\t\tАрмянский драм:");
Console.Write("--------------------------------------------------------------------------------");
Console.ResetColor();
for (int j = 0; j < columns; ++j)
{
for (int i = 0; i < size; ++i)
{
if (j == 0)
answer_3[i, j] = (b - a) * (course_two[i, j] - v_min) / (v_max - v_min) + a;
else
answer_3[i, j] = (b - a) * (course_two[i, j] - v_min2) / (v_max2 - v_min2) + a;
}
}
for (int i = 0; i < size; ++i)
{
for (int j = 0; j < columns; ++j)
Console.Write("{0:f4}\t\t\t\t ", answer_3[i, j]);
Console.WriteLine();
}
Console.ForegroundColor = ConsoleColor.Cyan;
Console.Write("--------------------------------------------------------------------------------");
Console.ResetColor();
}
}
}