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

Заменить все элементы, попадающие в интервал [a, b], нулем

14.01.2015, 11:53. Показов 5953. Ответов 13
Метки нет (Все метки)

Прз лаб 6(одномерный).zip
3адание: Заменить все элементы, попадающие в интервал [a, b], нулем.
Начудил с кодом, переделываю код, а он мне вообще другие ошибки выдают.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.01.2015, 11:53
Ответы с готовыми решениями:

Заменить все элементы массива, попадающие в интервал [a, b], нулем
Здравствуйте,помогите пожалуйста написать программу на С#! Задачи из данного пункта решить двумя...

Заменить все элементы последовательности, попадающие в интервал [a, b], нулем
уважаемые форумчане подсобите с задачами в C#. 1)Дана последовательность целых чисел. ...

Двумерный массив. Заменить все элементы, попадающие в интервал [a, b], нулем
Двумерный массив "Дана последовательность целых чисел. Заменить все элементы, попадающие в...

Двумерный массивы, заменить все элементы, попадающие в интервал [a, b], нулем
Сегодня была тема для одномерного массива, потом по заданию надо для двумерного, начал...

13
27 / 55 / 19
Регистрация: 18.08.2014
Сообщений: 329
14.01.2015, 12:15 2
Вариант 1:
C#
1
2
3
for (int i=a;i<b;i++){
    elm[i]=0;
}
Вариант 2:
C#
1
2
3
4
5
for (int i=0;i<elm.Count();i++){
    if (i>=a && i<=b){
        elm[i]=0;    
    }
}
1
116 / 116 / 70
Регистрация: 10.11.2013
Сообщений: 445
14.01.2015, 13:36 3
Надо чётко понимать различие ИНТЕРВАЛА и ОТРЕЗКА.. Вы написали про интервал, а обозначили его условно, как отрезок. В интервале граничные точки не включаются (выколоты), а в отрезке включаются. Так что вам нужно?
Интервал (а ; b) или отрезок [a ; b] ?

И что вы тут называете "интервалом" ? Индексы массива или интервал возможных значений??

Нужно грамотно ставить вопросы...
1
571 / 539 / 280
Регистрация: 25.12.2013
Сообщений: 1,456
14.01.2015, 14:20 4
RekcaR,
C#
1
 var result_arr = arr.Select(x => (x >= a && x <= b) ? x = 0 : x = x).ToArray();
2
3 / 3 / 0
Регистрация: 10.05.2009
Сообщений: 17
14.01.2015, 14:48 5
RekcaR,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
            Console.Write("Ввод a: ");
            int a = int.Parse(Console.ReadLine());
            Console.Write("Ввод b: ");
            int b = int.Parse(Console.ReadLine());
            int[] mas = new int[10] {1,2,3,4,5,6,7,8,9,10};
            for (int i = 0; i < mas.Length; i++)
            {
                for (int j = a; j <= b; j++)
                {
                    mas[j] = 0;
                }
                Console.WriteLine(mas[i]);
            }
1
0 / 0 / 0
Регистрация: 26.04.2013
Сообщений: 125
14.01.2015, 16:37  [ТС] 6
цитирую задание :
"Дана последовательность целых чисел. Заменить все элементы, попадающие в интервал [a, b], нулем."
т.е. как я понимаю, данный интервал это индексы чисел в массиве, хотя хз=)
0
27 / 55 / 19
Регистрация: 18.08.2014
Сообщений: 329
14.01.2015, 16:42 7
если как ты понимаешь, то вариант 1, тебе поможет.
0
0 / 0 / 0
Регистрация: 26.04.2013
Сообщений: 125
14.01.2015, 16:47  [ТС] 8
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 int[] elm = new int[n];
           int a =  int.Parse(textBox2.Text);
           int b = int.Parse(textBox1.Text);
            int i;
            int l;
          
  
                for (int i=0;i<elm.Count();i++)
                {
                 if (i>=a && i<=b){
               elm[i]=0; 
                  
                }
                dataGridView1.Rows[0].Cells[i].Value = elm[i].ToString();
вот, что получилось, но выдает одну ошибку :
"Невозможно объявить локальную переменную с именем "i" в этой области действия, так как она придаст другое значение "i", которая уже используется в области действия "родительский или текущий" для обозначения чего-то другого C:\Users\Vadim\Downloads\ПРЗ Дмитриева М.В\Прз лаб 6(одномерный)\c_sparp\Lab_1\Form1.cs 93 26 Lab_1
"
Заменить все элементы, попадающие в интервал [a, b], нулем
0
Warrior
500 / 427 / 177
Регистрация: 23.11.2014
Сообщений: 932
14.01.2015, 16:54 9
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
using System.Linq;
 
 
class Program
{
    static void Main()
    {
 
        int a = 2;
        int b = 10;
 
        Random random= new Random();
        var arr = Enumerable.Range(0, 50).Select(n => n = random.Next(1, 30)).ToArray();
 
        var mass = arr.Select((n, i) => i >= a && i <= b ? 0:n);
 
        foreach (var i in mass)
        {
            Console.Write(i + " ");
        }
    }
}
Ну и да непонятно включать или не включать a,b
1
0 / 0 / 0
Регистрация: 26.04.2013
Сообщений: 125
14.01.2015, 18:31  [ТС] 10
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int[] elm = new int[n];
           int a =  int.Parse(textBox2.Text);
           int b = int.Parse(textBox1.Text);
           int i;
           int l;
          
  
                for ( i=0;i<elm.Count();i++)
                {
                 if (i>=a && i<=b){
               elm[i]=0; 
                  
                }
                dataGridView1.Rows[0].Cells[i].Value = elm[i].ToString();
            }
по данному циклу все цифры обнуляет...
0
1962 / 1192 / 433
Регистрация: 13.06.2013
Сообщений: 4,009
14.01.2015, 18:45 11
RekcaR, дак вы массив elm элементами то заполните, он у вас пустой, а по умолчанию там везде 0

Вот так попробуйте, я не проверял:
C#
1
2
3
4
5
6
7
8
9
10
           int[] elm = new int[7] {0,1,5,2,4,6,1};
           int a =  int.Parse(textBox2.Text);
           int b = int.Parse(textBox1.Text);
  
                for (int temp = a; temp <b; temp++)
                {
                  elm[temp] = 0;
                }
                
            }
1
0 / 0 / 0
Регистрация: 26.04.2013
Сообщений: 125
14.01.2015, 18:57  [ТС] 12
спасибо, тупанул, у меня есть обьявление массива, теперь другая проблема
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
 int a1 =  int.Parse(textBox2.Text);
           int b = int.Parse(textBox1.Text);
           int i;
           int l;
          
  
                for ( i=0;i<a.Count();i++)
                {
                 if (i>=a1 && i<=b){
                     a[i] = 0; 
                  
                }
                dataGridView1.Rows[0].Cells[i].Value = a[i].ToString();
Заменить все элементы, попадающие в интервал [a, b], нулем

Заменить все элементы, попадающие в интервал [a, b], нулем
0
1962 / 1192 / 433
Регистрация: 13.06.2013
Сообщений: 4,009
14.01.2015, 20:39 13
Так не пойдет, вам уже несколько раз дали решение, но вы опять свой кривой код юзаете, где даже скобок не хватает. Окей, пишите код сами, буду чисто словами объяснять.
В ошибке все четко сказано, проверяйте где у вас лишний элемент. Я вижу что i=8, т.е. вы пытаетесь записать данные в ячейку из 9 столбца, но столбцов у вас 8.
Также намекну, что запись элементов в dataGridView надо занести в цикл, иначе только последний элемент будет меняться
0
0 / 0 / 0
Регистрация: 26.04.2013
Сообщений: 125
14.01.2015, 20:43  [ТС] 14
Сделал! Все спасибо за помощь!
C#
1
2
3
4
5
6
7
8
9
10
int a1 =  int.Parse(textBox2.Text);
           int b = int.Parse(textBox1.Text);
           int i;          
                    for ( i=a1;i<b;i++)
               {
                if (i>=a1 && i<=b){
                    a[i] = 0; 
               }
                dataGridView1.Rows[0].Cells[i].Value = a[i].ToString();
            }
Заменить все элементы, попадающие в интервал [a, b], нулем
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.01.2015, 20:43
Помогаю со студенческими работами здесь

Массивы, заменить все элементы, попадающие в интервал [a, b], нулем, всё работает, но есть 1 нюанс
Всё вроде работает, есть такой вопрос как вывести массив до изменения более простым способом, чтобы...

Найти элементы массива, попадающие в заданный интервал
Помогите с решением задачки. Вот условие(в скриншоте, см. ниже). Массив заполняется.

Заменить нулем все отрицательные элементы коллекции, не кратные семи
Задача звучит вот так. Ввести одномерную коллекцию размером N с клавиатуры. Заменить нулем все...

Массив целых чисел. Все элементы, кратные числу 10, заменить нулем
Данный массив целых чисел. а) Все элементы, кратные числу 10, заменить нулем. б) Все нечетные...


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

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

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