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[]{ 14.6552, 14.7516, 14.7187, 14.7532, 14.7555, 14.7582, 14.8318, 14.7771, 14.7527, 14.7849, 14.8146, 14.7779, 14.7322, 14.7637, 14.7777, 14.8675, 14.8789}; // двумерный массив курсов валют Венгерский форинт и Гурд double[,] course_two = new double[,] {{14.6552, 80.5393}, {14.7516, 81.7625}, {14.7187, 81.3379}, {14.7532, 81.1029}, {14.7555,81.9694}, { 14.7582, 82.2594}, {14.8318, 82.3707}, {14.7771, 82.4520}, {14.7527, 82.9665}, {14.7849, 83.1884}, {14.8146, 83.3181}, {14.7779, 83.7230}, {14.7322, 84.2804}, {14.7637, 85.3857}, {14.7777, 85.1784}, {14.8675, 85.0266}, {14.8789, 86.3050}}; 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] = ((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(); // 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] = (course_two[i, j] - v_min) / v_min * 100; else answer_3[i, j] = (course_two[i, j] - v_min2) / v_min2 * 100; } } 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(); } } }