Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
7 / 7 / 4
Регистрация: 01.10.2015
Сообщений: 327

Переместить в первую половину массива элементы а четными индексами, во вторую с нечетными

21.10.2016, 13:49. Показов 2556. Ответов 6
Метки нет (Все метки)

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

1. минимальный по модулю элемент массива;
2. сумму модулей элементов массива, расположенных после первого элемента,
равного нулю.

Преобразовать массив таким образом, чтобы в первой его половине
располагались элементы, стоявшие в четных позициях, а во второй
половине - элементы, стоявшие в нечетных позициях.

Код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication3
{
    class Program
    {
        public static void Main()
        {
            Console.Write("Введите размер массива: ");
            int n = Convert.ToInt32(Console.ReadLine());
            int[] array = new int[n];
            Random rand = new Random((int)DateTime.Now.Ticks);
            for (int i = 0; i < n; i++)
            {
                array[i] = rand.Next(-10, 10);
                Console.Write(array[i] + " ");
            }
 
            var modules = from num in array
                          select Math.Abs(num);
            double min = modules.Min();
            Console.WriteLine("Минимальный по модулю: " + min);
 
 
            bool z = false;
            double sum = 0;
            for (int i = 0; i < array.Length; i++)
            {
 
                if (array[i] == 0.0)
                    z = true;
                if (z == true)
                    sum += array[i];
            }
            Console.WriteLine("Сумма чисел после нуля: " + sum);
 
            Console.ReadKey();
        }
    }
}
Первый два пункта сделаны. Как преобразовать массив таким образом не знаю.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.10.2016, 13:49
Ответы с готовыми решениями:

Записать в новый массив сначала элементы исходного массива с четными, затем с нечетными индексами
Из одномерного массива А сформировать одномерный массив В, записав в него сначала элементы массива А, иемющие четные индексы, потом-...

Заполнить первую половину двумерного массива размерности n x n единицами, а вторую 0
Помогите решить задачу, буду благодарен. Заполнить первую половину двумерного массива размерности n x n единицами, а вторую 0.

В элементах массива с нечетными номерами удалить первую цифру, с четными – последнюю
Пользователем вводится одномерный массив целых чисел. В элементах с нечетными номерами удалить первую цифру, с четными – последнюю.

6
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,631
21.10.2016, 14:03
последний пункт
C#
1
2
3
4
5
            var b = new int[array.Length];
            var med = (array.Length + 1) / 2;
            for (int i = 0; i < array.Length; i++)
                b[i] = i < med ? array[i * 2] : array[(i - med) * 2 + 1];
            Console.WriteLine(String.Join(", ", b));
1
7 / 7 / 4
Регистрация: 01.10.2015
Сообщений: 327
21.10.2016, 14:20  [ТС]
Цитата Сообщение от afront Посмотреть сообщение
последний пункт
Спасибо, только получается наоборот: в первой половине элементы находящиеся на нечетных позициях, а во второй на четных. Что изменить?
Миниатюры
Переместить в первую половину массива элементы а четными индексами, во вторую с нечетными  
0
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,631
21.10.2016, 14:32
извиняюсь
C#
1
                b[i] = i < med ? array[i * 2] : array[(i - med) * 2];
1
7 / 7 / 4
Регистрация: 01.10.2015
Сообщений: 327
21.10.2016, 14:41  [ТС]
Цитата Сообщение от afront Посмотреть сообщение
b[i] = i < med ? array[i * 2] : array[(i - med) * 2];
Теперь программа выводит два раза элементы находящиеся на нечетных позициях.
Миниатюры
Переместить в первую половину массива элементы а четными индексами, во вторую с нечетными  
0
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,631
21.10.2016, 14:52
Лучший ответ Сообщение было отмечено mazahaler как решение

Решение

ну да, в левой части нужно 1 прибавить
C#
1
                b[i] = i < med ? array[i * 2 + 1] : array[(i - med) * 2];
1
7 / 7 / 4
Регистрация: 01.10.2015
Сообщений: 327
21.10.2016, 15:11  [ТС]
Большое вам спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.10.2016, 15:11
Помогаю со студенческими работами здесь

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

Вывести все элементы массива с четными индексами
Дан массив размера N. Вывести в начале его элементы с четными1|нечетными2 индексами, а затем с нечетными1|четными2. Как отдельно вывести,...

И опять массив четными и нечетными индексами
Добрый день! Народ опять туплю( Почему так происходит?? Он не верно меняет. Вот задание: &quot;Поменять местами элементы с четными и...

Номера строк, в которых макс. эл-т с четными индексами столбцов совпадает с макс. эл-ом с нечетными индексами столбцов
Составить программу, находящую в матрице D(m, n), номера строк, в которых максимальный среди элементов с четными индексами столбцов...

Определить, в какой период выпало больше осадков: в первую половину июня или во вторую
решить в консольном режиме В массиве хранятся сведения о количестве осадков, выпавших за каждый день июня. Определить: а) в какой...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru