Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
sidness
0 / 0 / 0
Регистрация: 06.02.2017
Сообщений: 10
#1

Массив: произведение элементов массива, расположенных между первым и вторым нулевыми элементами - C#

06.02.2017, 15:39. Просмотров 501. Ответов 8
Метки нет (Все метки)

всем привет!
помогите пожалуйста![/FONT]
не могу сделать

http://www.cyberforum.ru/csharp-beginners/thread820752.html
в одномерном массиве, состоящем из n целых элементов, вычислить:
1) номер максимального элемента массива;
2) произведение элементов массива, расположенных между первым и вторым нулевыми элементами.
Преобразовать массив таким образом, чтобы в первой его половине располагались элементы, стоявшие в нечетных позициях, а во второй половине - элементы, стоявшие в четных позициях.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2017, 15:39
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Массив: произведение элементов массива, расположенных между первым и вторым нулевыми элементами (C#):

Найти произведение элементов массива, расположенных между первым и вторым нулевыми элементами
Добрый день!помогите пожалуйста с массивами, а то их плохо понимаю. I.в...

Найти произведение элементов массива, расположенных между первым и вторым нулевыми элементами
произведение элементов массива, расположенных между первым и вторым нулевыми...

Найти произведение элементов массива расположенных между первым и вторым нулевыми элементами
нужно найти произведение элементов массива расположенных между первым и вторым...

Найти произведение элементов массива, расположенных между первым и вторым нулевыми элементами
произведение элементов массива, расположенных между первым и вторым нулевыми...

Вычислить произведение элементов массива, расположенных между первым и вторым нулевыми элементами
Помогите решить задачу на с#, произведение элементов массива, расположенных...

8
Shogun31337
466 / 462 / 193
Регистрация: 02.11.2016
Сообщений: 1,393
Завершенные тесты: 2
06.02.2017, 16:29 #2
Добрый день!
Что именно у Вас не получается?
0
sidness
0 / 0 / 0
Регистрация: 06.02.2017
Сообщений: 10
06.02.2017, 16:34  [ТС] #3
не понимаю как сделать 2 пункт, сделала только 1
int[] array = { 4, 2, 3, 0, 4, 5, 6, 0, 1, 7 };
Console.WriteLine("Индекс максимального массива: {0}",
Array.IndexOf(array, array.Max()));
Console.WriteLine("Индекс минимального массива: {0}",
Array.IndexOf(array, array.Min()));
int f_null_pos = Array.IndexOf(array, 0);
int s_null_pos = Array.FindIndex(array, f_null_pos + 1, (x) => x == 0);
Console.ReadKey();
0
Tyoma
51 / 51 / 15
Регистрация: 12.05.2010
Сообщений: 167
Завершенные тесты: 3
06.02.2017, 16:40 #4
Самая простая реализация 2 пункта
C#
1
2
3
4
5
6
7
8
9
10
11
12
int[] arr = {4, 6, 0, 3, 8, 2, 0, 8, 9, 0, 3 };
int result = 1;
for(int i = 0; i < arr.Length; ++i) {
   if(arr[i] == 0) {
      for(int j = i + 1; j < arr.Length; ++j) {
         if(arr[j] == 0) break;
         result *= arr[j];
      }
      break;
   }
}
Console.WriteLine("Result: {0}", result);
1
Shogun31337
466 / 462 / 193
Регистрация: 02.11.2016
Сообщений: 1,393
Завершенные тесты: 2
06.02.2017, 16:41 #5
Ну у Вас ведь все отлично получается!!!
Индексы нулевых элементов Вы нашли. Теперь нужно взять элементы с индексами от f_null_pos до s_null_pos и перемножить их между собой! Для этого можно цикл for использовать
1
sidness
0 / 0 / 0
Регистрация: 06.02.2017
Сообщений: 10
06.02.2017, 16:57  [ТС] #6
Спасибо!! все получилось!!
а вот как преобразовать массив,чтобы в первой его половине располагались элементы, стоявшие в нечетных позициях, а во второй половине - элементы, стоявшие в четных позициях??
0
Tyoma
51 / 51 / 15
Регистрация: 12.05.2010
Сообщений: 167
Завершенные тесты: 3
06.02.2017, 17:00 #7
Я думаю что проще всего сначала создать массив только элементов на четных и массив только нечетных, затем эти массивы объединить
0
sidness
0 / 0 / 0
Регистрация: 06.02.2017
Сообщений: 10
06.02.2017, 17:11  [ТС] #8
благодарю!
0
Pikemaster
298 / 298 / 215
Регистрация: 24.09.2013
Сообщений: 769
Завершенные тесты: 4
06.02.2017, 17:51 #9
Первое и второе задание у меня так получилось (на третье, увы, времени нет сегодня)
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using System;
using System.Linq;
 
class Program
{
    static void Main()
    {
        int n = 20;
        int[] array = new int[n];
        Random r = new Random();
 
        for (int i = 0; i < n; i++)
            Console.Write((array[i] = r.Next(0, 10)) + " ");
        Console.WriteLine("\nНомер максимального: " + Array.IndexOf(array, array.Max()));
 
        int zero1 = Array.IndexOf(array, 0), zero2 = Array.IndexOf(array, 0, zero1 + 1);
        if (zero1 == -1 || zero2 == -1)
            Console.WriteLine("Недостаточно нулей");
        else Console.WriteLine("Произведение между первым и вторым нулями: " + new ArraySegment<int>(array, zero1 + 1, zero2 - zero1 - 1).Aggregate(1, (a, b) => a * b));
        Console.ReadKey();
    }
}
0
06.02.2017, 17:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.02.2017, 17:51
Привет! Вот еще темы с решениями:

Вычислить произведение элементов массива, расположенных между первым и вторым нулевыми элементами
Задача: В одномерном массиве,состоящем из n целочисленных элементов вычислить...

Найти номер максимального элемента массива и произведение элементов, между первым и вторым нулевыми элементами
Помогите, пожалуйста, написать программу. Вот само задание: В одномерном...

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

Найти сумму элементов массива, расположенных между первым и вторым положительными элементами
Найти сумму элементов массива, расположенных между первым и вторым...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru