Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 22.12.2016
Сообщений: 12
1

Даны два одномерных массива целых чисел. Сформировать из них два новых по правилу

27.12.2016, 10:57. Просмотров 2077. Ответов 3
Метки нет (Все метки)


Помогите пожалуйста с задачей
Даны два одномерных массива целых чисел (массив А, состоящий из n
элементов, массив В – из m элементов), заполненных случайным образом числами из
промежутка [L,P]. Сформировать из элементов этих массивов два новых массива (C,D) по правилу, описанному в Вашем варианте. (Ввод и вывод массивов оформить в методах-
процедурах или функциях).
Варианты заданий:
n= 10, m= 25, L= 100, P=500;
Массив С состоит из тех элементов исходных массивов, в которых средняя цифра четная,
а массив D – средняя цифра нечетная.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.12.2016, 10:57
Ответы с готовыми решениями:

Паскаль. Л7. з1. Даны два одномерных массива целых чисел

Даны два одномерных массива вещественных чисел. Найти в них максимальные элементы и поменять их местами
Даны два одномерных массива вещественных чисел. Найти в них максимальные элементы и поменять их...

Даны два произвольных одномерных массива действительных чисел М1 и М2. Сформировать слиянием этих массивов упорядоченный массив М3
Помогите с работой на Borland C++ 5.02:Даны два произвольных одномерных массива действительных...

Даны два массива из n целых чисел каждый. Определить, в каком из них больше положительных элементов.
Даны два массива из n целых чисел каждый. Определить, в каком из них больше положительных...

3
265 / 249 / 186
Регистрация: 28.10.2015
Сообщений: 723
27.12.2016, 11:57 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
using System;
using System.Linq;
using System.Collections.Generic;
 
class Program
{
    static int MiddleDigit(int n)
    {
        List<int> digits = new List<int>();
        do
        {
            int d;
            n = Math.DivRem(n, 10, out d);
            digits.Add(d);
        } while(n != 0);
        return digits[digits.Count / 2];
    }
 
    static void Main()
    {
        int n = 10;
        int m = 25;
        int l = 100;
        int p = 500;
        Random rnd = new Random();
        int[] a = Enumerable.Repeat(rnd, n).Select(r => r.Next(l, p + 1)).ToArray();
        int[] b = Enumerable.Repeat(rnd, m).Select(r => r.Next(l, p + 1)).ToArray();
        IEnumerable<int> md = a.Concat(b).Select(i => MiddleDigit(i));
        int[] c = md.Where(i => (i & 1) == 0).ToArray();
        int[] d = md.Where(i => (i & 1) != 0).ToArray();
        Console.WriteLine(String.Join(", ", c));
        Console.WriteLine(String.Join(", ", d));
    }
}
0
0 / 0 / 0
Регистрация: 22.12.2016
Сообщений: 12
27.12.2016, 17:14  [ТС] 3
Цитата Сообщение от ata Посмотреть сообщение
IEnumerable<int> md = a.Concat(b).Select(i => MiddleDigit(i));
* * * * int[] c = md.Where(i => (i & 1) == 0).ToArray();
* * * * int[] d = md.Where(i => (i & 1) != 0).ToArray();
Простите, а как сделать так, чтобы он выводил полностью число, а не просто среднюю цифру?
0
265 / 249 / 186
Регистрация: 28.10.2015
Сообщений: 723
27.12.2016, 19:03 4
Если наплевать на производительность (куча операций будет производиться по нескольку раз), то можно вот так:

C#
1
2
3
IEnumerable<int> ab = a.Concat(b);
int[] c = ab.Where(i => (MiddleDigit(i) & 1) == 0).ToArray();
int[] d = ab.Where(i => (MiddleDigit(i) & 1) != 0).ToArray();
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.12.2016, 19:03

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Сформировать из элементов массивов А, В два новых массива C, D по правилу
Даны два одномерных массива целых чисел (массив А, состоящий из n элементов, массив В – из...

Из исходной матрицы сформировать два одномерных массива по заданному правилу
Задана матрица А(5, 5). Сформировать два одномерных массива. В один переслать по строкам верхний...

Даны два одномерных массива целых чисел A [1.6] и B [1.8]. Вычислить значение Z = min A[i] + min B[j]
Массивы на ЯП Pascal ABC помогите решить пожалуйста! Используя функцию Даны два одномерных...

Сформировать из элементов исходных массивов два новых массива по правилу
Даны два одномерных массива целых чисел (массив A, состоящий из n элементов, массив B - из m...


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

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

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