Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2012, 18:24   #1
EvgeniyPR
Пользователь
 
Регистрация: 11.11.2012
Сообщений: 10
По умолчанию C# нужно в одномерном массиве выполнить операции

В одномерном массиве, состоящем из n вещественных элементов вычислить минимальный элемент массива и сумму элементов массива, расположенных между первым и последним положительными элементами. Преобразовать массив таким образом, чтобы сначала располагались все элементы, равные нулю, а потом - все остальные.

Последний раз редактировалось EvgeniyPR; 11.11.2012 в 18:53.
EvgeniyPR вне форума Ответить с цитированием
Старый 11.11.2012, 19:24   #2
rUs_LAN
Форумчанин
 
Регистрация: 15.11.2008
Сообщений: 577
По умолчанию

да простят меня те кто знает линк

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleCS
{
    class Program
    {

        
        static void Main(string[] args)
        {

            var arr = new []{ -2, -0.1, 1, 0, 3, 0, -5, 10, 1.2, 7.7, -7, -2 };
            var min = arr.Min();
            int firstItem = arr.Select((item, index) => new
            {
                ItemValue = item,
                Position = index
            }).Where(i => i.ItemValue > 0)
              .First()
              .Position;

            int lastItem = arr.Select((item, index) => new
            {
                ItemValue = item,
                Position = index
            }).Where(i => i.ItemValue > 0)
              .Last()
              .Position;

            double sum = 0;
            for (int i = firstItem; i < lastItem; i++) sum += arr[i];

            var sub0 = from q in arr where q == 0 select q;
            var sub1 = from q in arr where q != 0 select q;

            var res = sub0.Concat(sub1);

            Console.WriteLine("array minimum = " + min);
            Console.WriteLine("sum = " + sum);
            Console.WriteLine("array after transform");
            foreach (var item in res)
            {
                Console.Write(item+ " ");
            }
            
            Console.WriteLine(lastItem);
            Console.ReadKey(true);
        }
    }
}
rUs_LAN вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С# задан массив 5х5. сформировать массивы А и В. в массив А поместить элементы с четными индексами, в массив В с нечетны Koksa Помощь студентам 0 10.10.2011 11:26
Запись координат в массив в реал тайм, Как записать координаты в массив Dark19 Visual C++ 2 21.06.2011 18:45
Из массив А получить массив В, удвоив все нечётные элементы удвоены ( на Pascal) KARTER Помощь студентам 1 18.06.2011 19:58
Массив - Нужно написать массив и распечатать на экран с конца в начало(язык С++) econ Помощь студентам 1 29.05.2011 22:02