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[]{ 29.8705, 30.1458, 30.5273, 30.5419, 30.5752, 30.6684, 30.5871, 30.6159, 30.1997, 30.2556, 30.1821, 30.1128, 30.1813, 30.0476, 30.0032, 30.0630, 29.9650, 29.8618, 30.2207, 30.2168 }; // двумерный массив курсов валют Юань и Гурд double[,] course_two = new double[,]{ {42.4352, 29.8705}, {42.5846, 30.1458}, {42.7075, 30.5273}, {42.6112, 30.5419}, {42.6669, 30.5752}, {42.5163, 30.6684}, {42.1845, 30.5871}, {42.0499, 30.6159}, {41.6908, 30.1997}, {41.7770, 30.2556}, {41.2029, 30.1821}, {41.2450, 30.1128}, {41.1446, 30.1813}, {40.3078, 30.0476}, {40.4959, 30.0032}, {40.7127, 30.0630}, {40.6032, 29.9650}, {40.7533, 29.8618}, {41.0535, 30.2207}, {41.2723, 30.2168}}; int a = 1; int b = 30; const int size = 20; // размер массива 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] = ((b - a) * (course_one[i] - v_min) / (v_max - v_min) + a); } for (int i = 0; i < size; ++i) Console.WriteLine("{0:f4} ", answer[i]); Console.ForegroundColor = ConsoleColor.Cyan; Console.Write("--------------------------------------------------------------------------------"); Console.ResetColor(); // 1.7. double[] answer_1 = new double[size]; Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine("\t\t\t\ttask_2:"); Console.Write("--------------------------------------------------------------------------------"); Console.ResetColor(); for (int i = 0; i < size; ++i) { answer_1[i] = (v_max - course_one[i]) / v_max * 100; } for (int i = 0; i < size; ++i) Console.WriteLine("{0:f4} ", answer_1[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 Гурд:"); 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_2 = new double[size, columns]; Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine(" \t\t\t\ttask_1\nЮань: \t\t Гурд:"); Console.Write("--------------------------------------------------------------------------------"); Console.ResetColor(); for (int j = 0; j < columns; ++j) { for (int i = 0; i < size; ++i) { if (j == 0) answer_2[i, j] = ((b - a) * (course_two[i, j] - v_midle2)) / (v_max2 - v_min2) + a; else answer_2[i, j] = ((b - a) * (course_two[i, j] - v_midle)) / (v_max - v_min) + a; } } for (int i = 0; i < size; ++i) { for (int j = 0; j < columns; ++j) Console.Write("{0:f4}\t\t\t\t ", answer_2[i, j]); Console.WriteLine(); } Console.ForegroundColor = ConsoleColor.Cyan; Console.Write("--------------------------------------------------------------------------------"); Console.ResetColor(); // 2.8. double[,] answer_3 = new double[size, columns]; Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine(" \t\t\t\ttask_2\nЮань: \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] = (v_max - course_two[i, j]) / v_max * 100; else answer_3[i, j] = (v_max2 - course_two[i, j]) / v_max2 * 100; ; } } for (int i = 0; i < size; ++i) { for (int j = 0; j < columns; ++j) Console.Write("{0:f4}\t\t\t\t ", answer_2[i, j]); Console.WriteLine(); } Console.ForegroundColor = ConsoleColor.Cyan; Console.Write("--------------------------------------------------------------------------------"); Console.ResetColor(); } } }