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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2010, 12:22   #1
Lo4gan
Новичок
Джуниор
 
Регистрация: 17.05.2010
Сообщений: 1
Печаль Масив на C#!!!

Помагите я чайник!!! Вот задача!
В одномерном массиве, состоящем из n целочисленных элементов, вычислить:
- номер максимального элемента массива;
- произведение элементов массива, расположенных между первым и вторым нулевыми элементами.
Преобразовать массив таким образом, чтобы в первой его половине располагались элементы, стоявшие в нечетных позициях, а во второй половине — элементы, стоявшие в четных позициях.
Lo4gan вне форума Ответить с цитированием
Старый 17.05.2010, 13:26   #2
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Хоть ты и чайник, но наработки надо предложить. Задача простая.
Hollander вне форума Ответить с цитированием
Старый 17.05.2010, 19:27   #3
m0nax
Форумчанин
 
Аватар для m0nax
 
Регистрация: 25.09.2009
Сообщений: 525
По умолчанию

считай что тебе повезло, обычно при такой постановке вопроса задание решается только за деньги
Код:
using System;
using System.Linq;

namespace Other_Console
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] mass = { 2, 1, 0, 4, 1, 6, 8, 0, 3, 2, 0, 1, 2, 4, 9, 7 };
            Console.WriteLine("исходный массив");
            Array.ForEach(mass, v => Console.Write(v + " "));


            Console.WriteLine("\nиндекс максимального элемента массива({0}) = "
                + Array.IndexOf(mass, mass.Max()), mass.Max());


            int startIndex = Array.IndexOf(mass, 0) + 1;
            int endIndex = Array.IndexOf(mass, 0, startIndex);
            int result = 1;
            for (int i = startIndex; i < endIndex; ++i)
                result *= mass[i];
            Console.WriteLine("произведение элементов массива между нулями " + result);


            int[] tempMas1 = Array.FindAll(mass, n =>
            { return Array.IndexOf(mass, n) % 2 == 0; });
            int[] tempMas2 = Array.FindAll(mass, n =>
            { return Array.IndexOf(mass, n) % 2 != 0; });
            mass = Enumerable.Concat(tempMas1, tempMas2).ToArray();
            Console.WriteLine("\nмассив после перестановки");
            Array.ForEach(mass, v => Console.Write(v + " "));

            Console.ReadLine();
        }
    }
}

Последний раз редактировалось m0nax; 17.05.2010 в 19:32.
m0nax вне форума Ответить с цитированием
Старый 17.05.2010, 20:58   #4
Batanidze
Новичок
Джуниор
 
Регистрация: 17.05.2010
Сообщений: 1
По умолчанию

Я так умею!

using System;

namespace array1d
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("введите количество элементов массива");
Console.Write("n= ");
int n = int.Parse(Console.ReadLine());

int [] array = new int[n];
int [] arrayModify = new int[n];

Console.WriteLine("введите элементы массива");
for (int i = 0; i < n; i++)
{
Console.Write("array[" + i + "] ");
array[i] = int.Parse(Console.ReadLine());
}

Console.WriteLine("Исходный массив");
for (int i = 0; i < n; i++)
{
Console.Write(array[i]);
}

int max = array[0];
int index = 0;
int secondZero = -1;
int firstZero = -1;
int pr = 0;

for(int i =0;i<n;i++)
{
if ((firstZero != -1) && (secondZero==-1) && (array[i] == 0))
{
secondZero = i;
}

if ((firstZero == -1) && (array[i] == 0))
{
firstZero = i;
}

if (array[i] > max)
{
max = array[i];
index = i;
}
}

for (int i = firstZero+1; i < secondZero; i++)
{
pr *= array[i];
}

for (int i = 0, j = 0, k = 0; i < n; i++)
{
if (i % 2 != 0)
{
arrayModify[j] = array[i];
j++;
}
else
{
arrayModify[n - k - 1] = array[i];
k++;
}
}

Console.WriteLine();
Console.WriteLine("max=" + max+" index ="+index);
Console.WriteLine("произведение элементов от 1 нуля до 2 = "+pr);

for (int i = 0; i < n; i++)
{
Console.Write(arrayModify[i]);
}

Console.ReadKey();
}
}
}
Batanidze вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Масив MyST1caL Общие вопросы Delphi 1 20.01.2010 23:06
Масив в С++ Smile.id Помощь студентам 7 14.10.2009 13:03
масив в WHERE memka PHP 4 03.04.2009 07:36
масив HENRY23 Общие вопросы Delphi 0 17.03.2009 22:30
маcсив nikleb Паскаль, Turbo Pascal, PascalABC.NET 3 19.04.2007 23:23