13. а) найти сумму четных элементов в четных ячейках
б) переставить местами мах и первый элемент вектора
в) отсортировать вектор по убыванию
г) получить сумму элементов между последним и max элементами вектора.
C/C++
Напишите на С#
using System;
using System.Collections;
using System.Linq;
namespace Answer {
public class Descending : IComparer {
public int Compare(object x, object y) {
if ((int)x < (int)y) return 1;
if ((int)x > (int)y) return -1;
return 0;
}
}
class Program {
static void Main() {
const int length = 7;
TaskA("Задание 13а. Найти сумму четных элементов в четных ячейках", length);
Console.WriteLine();
TaskB("Задание 13б. Переставить местами мах и первый элемент вектора", length);
Console.WriteLine();
TaskC("Задание 13в. Отсортировать вектор по убыванию", length);
Console.WriteLine();
TaskD("Задание 13г. Получить сумму элементов между последним и max элементами вектора", length);
Pause();
}
static int[] Generate(int length) {
var rand = new Random();
var vector = new int[length];
for (int i = 0; i < length; ++i) vector[i] = rand.Next(1, 10);
return vector;
}
static void Show(int[] vector) {
foreach (var item in vector) Console.Write($"{item,3}");
Console.WriteLine();
}
public static void Swap(ref int a, ref int b) {
if (a != b) {
var tmp = a;
a = b;
b = tmp;
}
}
static void TaskA(string title, int length) {
Console.WriteLine(title);
var vector = Generate(length);
Show(vector);
var sum = 0;
for (var i = 1; i < length; i += 2) if (0 == vector[i] % 2) sum += vector[i];
Console.WriteLine($"Сумма: {sum}");
}
static void TaskB(string title, int length) {
Console.WriteLine(title);
var vector = Generate(length);
Show(vector);
Swap(ref vector[0], ref vector[Array.IndexOf(vector, vector.Max())]);
Show(vector);
}
static void TaskC(string title, int length) {
Console.WriteLine(title);
var vector = Generate(length);
Show(vector);
IComparer descending = new Descending();
Array.Sort(vector, descending);
Show(vector);
}
static void TaskD(string title, int length) {
Console.WriteLine(title);
var vector = Generate(length);
Show(vector);
var index = Array.IndexOf(vector, vector.Max()) + 1;
if (index != length) {
int sum = vector.Skip(index).Sum() - vector.Last<int>();
Console.WriteLine($"Сумма: {sum}");
} else {
Console.WriteLine("Максимальный элемент является последним!");
}
}
static void Pause() {
Console.ReadKey();
}
}
}
using System.Collections;
using System.Linq;
namespace Answer {
public class Descending : IComparer {
public int Compare(object x, object y) {
if ((int)x < (int)y) return 1;
if ((int)x > (int)y) return -1;
return 0;
}
}
class Program {
static void Main() {
const int length = 7;
TaskA("Задание 13а. Найти сумму четных элементов в четных ячейках", length);
Console.WriteLine();
TaskB("Задание 13б. Переставить местами мах и первый элемент вектора", length);
Console.WriteLine();
TaskC("Задание 13в. Отсортировать вектор по убыванию", length);
Console.WriteLine();
TaskD("Задание 13г. Получить сумму элементов между последним и max элементами вектора", length);
Pause();
}
static int[] Generate(int length) {
var rand = new Random();
var vector = new int[length];
for (int i = 0; i < length; ++i) vector[i] = rand.Next(1, 10);
return vector;
}
static void Show(int[] vector) {
foreach (var item in vector) Console.Write($"{item,3}");
Console.WriteLine();
}
public static void Swap(ref int a, ref int b) {
if (a != b) {
var tmp = a;
a = b;
b = tmp;
}
}
static void TaskA(string title, int length) {
Console.WriteLine(title);
var vector = Generate(length);
Show(vector);
var sum = 0;
for (var i = 1; i < length; i += 2) if (0 == vector[i] % 2) sum += vector[i];
Console.WriteLine($"Сумма: {sum}");
}
static void TaskB(string title, int length) {
Console.WriteLine(title);
var vector = Generate(length);
Show(vector);
Swap(ref vector[0], ref vector[Array.IndexOf(vector, vector.Max())]);
Show(vector);
}
static void TaskC(string title, int length) {
Console.WriteLine(title);
var vector = Generate(length);
Show(vector);
IComparer descending = new Descending();
Array.Sort(vector, descending);
Show(vector);
}
static void TaskD(string title, int length) {
Console.WriteLine(title);
var vector = Generate(length);
Show(vector);
var index = Array.IndexOf(vector, vector.Max()) + 1;
if (index != length) {
int sum = vector.Skip(index).Sum() - vector.Last<int>();
Console.WriteLine($"Сумма: {sum}");
} else {
Console.WriteLine("Максимальный элемент является последним!");
}
}
static void Pause() {
Console.ReadKey();
}
}
}
Похожие вопросы
- Написать программы на СИ
- Написать программу на языке Си
- Напишите пожалуйста код на 5 вариант очень простой я на 1 курсе вуза и нужен простой код.
- Правильно ли на с++ написал прогу?
- Написать код на языке си
- Задачу написать на с++ , она не сложная но почему то не получается напишите задачу с помощью цикла
- Написать свою ОС
- Написать программу, которая выводит числа из файла с текстом и числами. С++
- Написать 4 лёгкие программы на C++.
- Помогите, пожалуйста, написать программу на языке Си.