Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 11.04.2017
Сообщений: 10

Одномерные массивы

17.06.2017, 09:54. Показов 995. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В одномерном массиве, состоящем из целых элементов, вычислить:
1) произведение элементов массива с четными номерами;
2) сумму элементов массива, расположенных между первым и последним нулевыми элементами.
Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы, а потом — все отрицательные (элементы, равные 0, считать положительными).
не могу разобраться.Help
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.06.2017, 09:54
Ответы с готовыми решениями:

Табулирование функции и поиск данных. Одномерные массивы. Двумерные массивы
Вычислить сумму первых четырех отрицательных элементов. В соответствии с п. 5.16 правил "Запрещено создавать темы с множеством...

Одномерные массивы
Помогите выполнить данную задачу с объяснениями. Пытаюсь разобраться, ничего не понимаю. Помогите пожалуйста.. Спасибо большое!!

Массивы одномерные
Помогите плиз!!!!!!!!!!! 1.заменить максимальный по модулю отрицательный элемент нулем 2.заменить первые K элементов на противоположные...

5
30 / 47 / 19
Регистрация: 23.10.2014
Сообщений: 1,001
17.06.2017, 10:35
Цитата Сообщение от Pix3l Посмотреть сообщение
1) произведение элементов массива с четными номерами;
C#
1
2
var a = new[] { 1, 2, 3, 4, 5 };
var product = a.Where((x, i) => i % 2 == 0).Aggregate((x, y) => x * y);
Цитата Сообщение от Pix3l Посмотреть сообщение
2) сумму элементов массива, расположенных между первым и последним нулевыми элементами.
C#
1
2
var a = new[] { 1, 0, 2,3, 0, 3 };
var sum = a.SkipWhile(x => x != 0).Reverse().SkipWhile(x => x != 0).Sum();
Цитата Сообщение от Pix3l Посмотреть сообщение
Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы, а потом — все отрицательные (элементы, равные 0, считать положительными).
C#
1
2
var a = new[] { -1, 5, 0, -2, 0, 3 };
var b = a.Where(x => x >= 0).Concat(a.Where(x => x < 0)).ToArray();
1
34 / 34 / 16
Регистрация: 04.06.2017
Сообщений: 158
17.06.2017, 10:59
подстава с такой задачей, врядли они что-то хотя бы близкое проходили))

Добавлено через 1 минуту
а с чем конкретно не могу разобраться? как условие составить или как циклом по элементам массива пробежаться?
0
0 / 0 / 0
Регистрация: 11.04.2017
Сообщений: 10
17.06.2017, 11:12  [ТС]
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
using System;
using System.Collections.Generic;
using System.Text;
 
namespace ConsoleApplication1a
{
    class Program
    {
        static void Main()
        {
            const int n = 10;
            double[] a = new double[n] { 4.2, -5.8, -3.7, 7.0, 9.0, 1.7, 1.0, -2.4, -5.0, 3.8 };
            int i, j;
            // Печать массива 
            Console.WriteLine("Исходный массив");
            for (i = 0; i < n; i++)
                Console.Write("{0, 6:f1}", a[i]);
            Console.WriteLine();
            //Сумма отрицательных элементов массива 
            double sum = 0;
            for (i = 0; i < n; i++)
                if (a[i] < 0) sum += a[i];
            Console.WriteLine("sum = " + sum);
            //Номера максимального и минимального элементов массива
            int i1, i2;
            i1 = 0; i2 = 0;
            for (i = 1; i < n; i++)
            {
                if (a[i] > a[i1]) i1 = i;
                if (a[i] < a[i2]) i2 = i;
            }
            Console.WriteLine("i1 = {0} i2 = {1}", i1, i2);
            //Если номер максимального элемента больше, чем номер минимального 
            //элемента, то номера переставить
            if (i1 > i2)
            {
                i = i1; i1 = i2; i2 = i;
            }
            Console.WriteLine("i1 = {0} i2 = {1}", i1, i2);
            //Произведение элементов массива между максимальным и минимальным элементами
            double pr = 1.0;
            for (i = i1 + 1; i < i2; i++)
                pr *= a[i];
            Console.WriteLine("pr = " + pr);
            //Сортировка элементов массива по возрастанию
            for (i = 0; i < n - 1; i++)
            {
                int k = i;
                for (j = i; j < n; j++)
                    if (a[j] < a[k]) k = j;
                double temp = a[i];
                a[i] = a[k];
                a[k] = temp;
            }
            //Печать массива после сортировки
            Console.WriteLine("Отсортированный массив");
            for (i = 0; i < n; i++)
                Console.Write("{0, 6:f1}", a[i]);
            Console.WriteLine();
            Console.ReadLine();
        }
    }
}
вот в этом коде надо изменить
0
30 / 47 / 19
Регистрация: 23.10.2014
Сообщений: 1,001
17.06.2017, 11:18
Pix3l, Я же написал тебе решение выше. Все решается в пару строк. Незачем городить огород.
0
34 / 34 / 16
Регистрация: 04.06.2017
Сообщений: 158
17.06.2017, 12:33
Ну и что не так-то? разве что здесь не предусмотрено,что если i1+1 ==i2 то произведением элементов между ними окажется 1...

Цитата Сообщение от Pix3l Посмотреть сообщение
C#
1
2
3
4
//Произведение элементов массива между максимальным и минимальным элементами
double pr = 1.0;
for (i = i1 + 1; i < i2; i++)
pr *= a[i];
ну и сортировка немного не в ту сторону, хотя в задании просто о расположении элементов говорилось, а не о сортировке, но сортировка тоже даст результат удовлетворяющий условию задачи Ну и произведение всех элементов расположенных между максимальным и минимальным элементами, вместо произведения элементов на четных позициях Ну и сумма всех отрицательных элементов вместо суммы элементов между последним и первым нулем

Короче это решение для другой задачи и практически верное за небольшим недосмотром в позиции максимального и минимального элементов

Тобишь в этом коде нужно изменить все кроме сути В общем у вас перед глазами отличный пример как сделать, а в условии задачи что нужно сделать берем и решаем, или объясняем, что же вам все-таки непонятно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.06.2017, 12:33
Помогаю со студенческими работами здесь

Одномерные массивы
В одномерном массиве, который состоит из n вещественных элементов, вычислить: • сумму позитивных элементов массива; • произведение...

Одномерные массивы
Случайным образом формируются координаты X и Y 100 точек. Диапазон значений координат от -150 до 150. Для каждой четверти напечатать точки,...

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

Одномерные массивы, задачи
Помогите пожалуйста решить две задачи. Задание 2: Пользователь вводит прибыль фирмы за год (12 месяцев). Затем пользователь вводит...

Одномерные и двухмерные массивы C#
В одномерном массиве A=(a1, а2, ..., аn) все положительные элементы, имеющие четный порядковый номер, переписать в начало массива. ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
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