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

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

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

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

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

Массив: произведение элементов массива, расположенных между первым и вторым нулевыми элементами.
Здравствуйте. Помогите пожалуйста написать следующую программу в консоле и...

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

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

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

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

8
Shogun31337
524 / 507 / 219
Регистрация: 02.11.2016
Сообщений: 1,528
Завершенные тесты: 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
236 / 75 / 24
Регистрация: 12.05.2010
Сообщений: 209
Завершенные тесты: 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
524 / 507 / 219
Регистрация: 02.11.2016
Сообщений: 1,528
Завершенные тесты: 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
236 / 75 / 24
Регистрация: 12.05.2010
Сообщений: 209
Завершенные тесты: 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 целочисленных элементов вычислить...

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


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

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

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