Другие языки программирования и технологии
Ввести одномерный массив n = {3, 5, 7, 9, -11, 13, 15}
или прочитать его элементы из многострочного редактора. Переставить элементы массива n в обратном порядке и найти в нем произведение элементов, расположенных после минимального элемента. (#С)
Братишка... я тут кушать тебе принес.
http://pastebin.com/vzWqkTrA
[STAThread]
public static void Main()
{
Console.Write("Введите элементы массива: ");
int[] array = ReadArray(true);
if (array == null)
{
Console.WriteLine("\nНе удалось считать массив. \nНажмите любую клавишу. ");
Console.ReadKey(true);
return;
}
ReverseArray(ref array);
Console.Write("Обратный массив: ");
foreach (int i in array)
{
Console.Write("{0} ", i);
}
Console.WriteLine("\nСумма значений после минимального элемента: {0}\nНажмите любую клавишу. ", SummarizeAfterMin(array));
Console.ReadKey(true);
}
private static int[] ReadArray(bool fromFile = false)
{
string array;
if (fromFile)
{
OpenFileDialog fileDialog = new OpenFileDialog();
DialogResult result=fileDialog.ShowDialog();
if (result == DialogResult.Yes || result == DialogResult.OK)
{
if (fileDialog.CheckFileExists && !string.IsNullOrEmpty(fileDialog.SafeFileName))
{
array = File.ReadAllLines(fileDialog.FileName).FirstOrDefault();
if (string.IsNullOrEmpty(array))
return null;
}
else
return null;
}
else
return null;
}
else
{
array = Console.ReadLine();
}
return array?.Split(new[] {',', ' ', '\t'}, StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToArray();
}
private static void ReverseArray(ref int[] array)
{
array = array.Reverse().ToArray();
}
private static int SummarizeAfterMin(int[] array)
{
int index = Array.IndexOf(array, array.Min());
int sum = 0;
for (; index < array.Length; index++)
sum += array[index];
return sum;
}
http://pastebin.com/vzWqkTrA
[STAThread]
public static void Main()
{
Console.Write("Введите элементы массива: ");
int[] array = ReadArray(true);
if (array == null)
{
Console.WriteLine("\nНе удалось считать массив. \nНажмите любую клавишу. ");
Console.ReadKey(true);
return;
}
ReverseArray(ref array);
Console.Write("Обратный массив: ");
foreach (int i in array)
{
Console.Write("{0} ", i);
}
Console.WriteLine("\nСумма значений после минимального элемента: {0}\nНажмите любую клавишу. ", SummarizeAfterMin(array));
Console.ReadKey(true);
}
private static int[] ReadArray(bool fromFile = false)
{
string array;
if (fromFile)
{
OpenFileDialog fileDialog = new OpenFileDialog();
DialogResult result=fileDialog.ShowDialog();
if (result == DialogResult.Yes || result == DialogResult.OK)
{
if (fileDialog.CheckFileExists && !string.IsNullOrEmpty(fileDialog.SafeFileName))
{
array = File.ReadAllLines(fileDialog.FileName).FirstOrDefault();
if (string.IsNullOrEmpty(array))
return null;
}
else
return null;
}
else
return null;
}
else
{
array = Console.ReadLine();
}
return array?.Split(new[] {',', ' ', '\t'}, StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToArray();
}
private static void ReverseArray(ref int[] array)
{
array = array.Reverse().ToArray();
}
private static int SummarizeAfterMin(int[] array)
{
int index = Array.IndexOf(array, array.Min());
int sum = 0;
for (; index < array.Length; index++)
sum += array[index];
return sum;
}
Дмитрий Самолюк
спасибо
using System;
using System.Linq;
....
public static void Main (string[] args)
{
//int[] n = { 3, 5, 7, 9, -11, 13, 15 };
//Если вводить с клавиатуры через пробел и т. д.
//Что делать при неправильном вводе не написано. В данном случае выкинет исключение
int[] n = Array.ConvertAll (
Console.ReadLine ().Split (
new char[] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries
), x => Convert.ToInt32 (x)
);
Array.ForEach(n, x=> Console.Write("{0} ", x));
Console.WriteLine();
Array.Reverse (n);
Array.ForEach(n, x=> Console.Write("{0} ", x));
Console.WriteLine();
int index = Array.IndexOf(n, n.Min ()) + 1;
Console.WriteLine(
index == n.Length? 0 : n.Skip(index).Aggregate ((x, y) => x * y)
);
}
P.S: 9*7*5*3 = 945
P.P.S: Вывод массива можно и в процедурку оформить, но лень.

using System.Linq;
....
public static void Main (string[] args)
{
//int[] n = { 3, 5, 7, 9, -11, 13, 15 };
//Если вводить с клавиатуры через пробел и т. д.
//Что делать при неправильном вводе не написано. В данном случае выкинет исключение
int[] n = Array.ConvertAll (
Console.ReadLine ().Split (
new char[] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries
), x => Convert.ToInt32 (x)
);
Array.ForEach(n, x=> Console.Write("{0} ", x));
Console.WriteLine();
Array.Reverse (n);
Array.ForEach(n, x=> Console.Write("{0} ", x));
Console.WriteLine();
int index = Array.IndexOf(n, n.Min ()) + 1;
Console.WriteLine(
index == n.Length? 0 : n.Skip(index).Aggregate ((x, y) => x * y)
);
}
P.S: 9*7*5*3 = 945
P.P.S: Вывод массива можно и в процедурку оформить, но лень.

Дмитрий Самолюк
все получилось, спасибо большое :)
Похожие вопросы
- ДАНЫ ЧИСЛА (1,3,5,7,9,11,13,15)
- Задача даны числа 1,3,5,7,9,11,13,15 Нужно взять 3 числа и ТОЛЬКО сложением получить 30
- 30 чтобы получилось использовать 1,3,5,7,9,11,13,15
- помогите с информатикой. заполнить массиве числами 1,3,5,7,9
- Найдите закономерности 1,1,1,2,3,4,3,5,7_,7,_,5,9,13,_,_,16
- Перевести десятичное число 4843,845510 в новые системы счисления с основаниями 3, 5, 7 с точностью 0,001. Проверить прав
- Заполнить случайным образом одномерный массив из n элементов и обменять местами последний и максимальный (в паскале)
- Написать в С++. Задан одномерный массив А из 10 чисел.
- сформировать с помощью ДСЧ одномерный массив и вывести его на печать
- сформировать с помощью ДСЧ одномерный массив и вывести его на печать .