0 / 0 / 0
Регистрация: 11.11.2011
Сообщений: 15
1

Сжать одномерный массив, удалив из него все элементы, модуль которых находится в интервале [a,b]

21.05.2012, 15:44. Показов 1259. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот есть такая задача :

Сжать одномерный массив, удалив из него все элементы, модуль которых находится в интервале [a,b]

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.Linq;
using System.Text;
 
namespace kr2zad1
{
    class Program
    {
        static void Main(string[] args)
        {
 
            int i, k, j, max;
            j = 0;
            string s;
            //вводим число элементов
            Console.Write("Введите число элементов массива N=");
            s = Console.ReadLine();
            int RazmernostMassiva = Convert.ToInt32(s);
            int[] A = new int[RazmernostMassiva];
            //запускаем цикл по всем элементам массива
            for (i = 0; i < RazmernostMassiva; i++)
            {
                //вводим i-ый элемент
                Console.Write("Введите {0}-й элемент массива ", i);
                s = Console.ReadLine();
                A[i] = Convert.ToInt32(s);
            }
            Console.WriteLine("Начальный массив:");
            //запускаем цикл по всем элементам массива
            for (i = 0; i < RazmernostMassiva; i++)
                //печатаем 
                Console.WriteLine("{0} ", A[i]);
 
            Console.Write("Укажите число а : ");
            int a = Convert.ToInt32(Console.ReadLine());
 
            Console.Write("Укажите число b : ");
            int b = Convert.ToInt32(Console.ReadLine());
 
            int count = 0;
            for (i = 0; i < A.Length; i++)
            {
                if (Math.Abs(A[i]) < a || (Math.Abs(A[i]) > b))
                    count++;
 
            }
 
            int[] B = new int[count];
 
            ???????????????????????????????????????????????????????????
            
 
            Console.WriteLine("");
 
            Console.ReadKey();
        }
         
 
 
 
    }
}

Сделать это нужно через другой массив (к примеру B). При выводе массива А (тот который сжимаем) на экран просто сослаться на B. (A = B).

Как видно создать нужный массив B с нужной размерностью удалось, а вот как его заполнить теми элементами массива А, модуль которых не входит в интервал [a,b] ?

P.S. Хотя бы намекните))) ^___^ заранее спс)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.05.2012, 15:44
Ответы с готовыми решениями:

Сжать массив, удалив из него все элементы, модуль которых находится в интервале [а, b]
Сжать массив: 1. удалив из него все элементы, модуль которых находится в интервале 2. элементы,...

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

Сжать массив, удалив из него все элементы, модуль которых находится в интервале [а, Ь]. Освободившиеся в конце
Сжать массив, удалив из него все элементы, модуль которых находится в интервале . Освободившиеся в...

Сжать массив, удалив из него все элементы, модуль которых находится в интервале a,b
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1. максимальный элемент...

2
340 / 340 / 90
Регистрация: 04.03.2010
Сообщений: 648
21.05.2012, 16:01 2
C#
1
2
int[] array = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
array = array.Where(x => Math.Abs(x) < 3 || Math.Abs(x) > 7).ToArray();
1
250 / 250 / 135
Регистрация: 09.04.2011
Сообщений: 524
21.05.2012, 16:06 3
Можно так.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
Console.Write("Введите длину массива: ");
            int length = int.Parse(Console.ReadLine());
            Console.WriteLine("Вводите массив: ");
            int[] array_0 = Enumerable.Repeat(0, length).Select(x => int.Parse(Console.ReadLine())).ToArray();
            Console.Write("\nУкажите число а : ");
            int a = Convert.ToInt32(Console.ReadLine());
 
            Console.Write("\nУкажите число b : ");
            int b = Convert.ToInt32(Console.ReadLine());
            Console.Write("\nСжатый массив: ");
            int[] array_1 = array_0.Where(x => (Math.Abs(x) < a || Math.Abs(x) > b)).ToArray();
            foreach (int tmp in array_1) Console.Write(tmp + " ");
            Console.ReadKey(true);
1
21.05.2012, 16:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.05.2012, 16:06
Помогаю со студенческими работами здесь

Сжать массив, удалив из него все элементы, модуль которых находится в интервале [a,b]
помогите решить задачи!!!!сегодня!!! 1)Дана прямоугольная матрица размером N×M. Составить...

Сжать массив, удалив из него все элементы, модуль которых находится в интервале [а, b]
В массиве, состоящем из n вещественных элементов, вычислить: - максимальный элемент массива; -...

Сжать массив, удалив из него все элементы, модуль которых находится в интервале
Вот условие: В одномерном массиве, состоящем из N вещественных элементов, вычислить:...

Сжать массив, удалив из него все элементы, модуль которых находится в интервале [а, b]
Сжать массив, удалив из него все элементы, модуль которых находится в интервале . Освободившиеся в...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru