0 / 0 / 0
Регистрация: 21.01.2016
Сообщений: 4
.NET 4.x

Включить в массив числа, расположив их после второго нулевого элемента

21.01.2016, 08:02. Показов 731. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В массив целых чисел включить числа B1, B2, B3, расположив их
после второго нулевого элемента.
вот что у меня получилось.
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;
using System.Threading.Tasks;
 
 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
 
namespace СonsoleApplication2
{ 
class Program 
{ 
static void Main() 
{ 
int[] arr = new int[20]; 
Random r = new Random(); 
 
Console.WriteLine("Начальный массив:"); 
for (int i = 0; i < arr.Length; i++) 
{ 
arr[i] = r.Next(0, 9); 
Console.Write("{0} ", arr[i]); 
}
Console.WriteLine(" "); 
        var count = 0; 
var secondZeroIndex = 0; 
for (var i = 0; i < arr.Length; i++) 
{ 
if (arr[i] == 0) 
count++; 
if (count == 2) 
{ 
secondZeroIndex = i; 
break; 
} 
} 
if (count < 2) 
{ 
Console.WriteLine("В массиве отсутствует второй ноль");
return;
}
int B1 = 6;
int B2 = 7;
int B3 = 8;
int[] newArray = new int[arr.Length + B1 + B2 + B3];
 
for (var i = 0; i <= secondZeroIndex; i++)
    newArray[i] = arr[i];
secondZeroIndex++;
for (var i = 0; i < B1 + B2 + B3; i++)
    newArray[secondZeroIndex + i] = i ;
for (var i = 0; i < newArray[i + secondZeroIndex] + B1 + B2 + B3; i++)
    /*
    newArray[secondZeroIndex + B1 + B2 + B3 + i] = arr[secondZeroIndex [i] +B1 + B2 + B3;*/
    Console.Write("{0} ", newArray[i]);
Console.WriteLine("Вставка успешно выполнена!");
Console.ReadKey();  
} 
} 
}
Добавлено через 26 минут
нужно поправить вывод второго массива! я что-то запарил
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.01.2016, 08:02
Ответы с готовыми решениями:

В массив целых чисел включить числа B1, B2, B3, расположив их после второго нулевого элемента
В массив целых чисел включить числа B1, B2, B3, расположив их после второго нулевого элемента. не вставляются числа, что-то делаю не так...

В массив целых чисел включить B1, B2,B3, расположить их после второго нулевого элемента
решить в C# в массив целых чисел включить B1, B2,B3, расположить их после второго нулевого элемента сделать надо в консольном режиме ,...

В новый массив включить числа, которые расположены после последнего нулевого элемента
2. Дано натуральное число n, целые числа . В новый массив включить числа, которые расположены после последнего нулевого элемента при...

7
44 / 33 / 14
Регистрация: 27.04.2012
Сообщений: 153
21.01.2016, 09:05
Что-то я вообще не пойму что вы сделали. Если вам надо вставить три числа после второго нуля, то зачем это?
C#
1
int[] newArray = new int[arr.Length + B1 + B2 + B3];
Зачем вы делаете новый массив длиной 20+6+7+8=41, если надо 23?
И исправляя вашу реализацию. Я так понимаю, 3 цикл добавляет оставшиеся элементы 1 массива. Тогда как-то надо делать. Топорно, но должно сработать.
C#
1
2
3
4
5
for (var i = secondZeroIndex; i < arr.Length; i++)
{
    newArray[secondZeroIndex + B1 + B2 + B3 + (i-secondZeroIndex)] = arr[i];
    Console.Write("{0} ", newArray[secondZeroIndex + B1 + B2 + B3 + (i-secondZeroIndex)]);
}
0
0 / 0 / 0
Регистрация: 21.01.2016
Сообщений: 4
22.01.2016, 11:19  [ТС]
видимо я что-то неправильно делаю. но не работает
0
44 / 33 / 14
Регистрация: 27.04.2012
Сообщений: 153
22.01.2016, 11:45
Ivannkz, что не работает? в каком месте? какая ошибка? я же не телепат.
0
0 / 0 / 0
Регистрация: 21.01.2016
Сообщений: 4
22.01.2016, 11:59  [ТС]
вместо вставки в начальный массив, он выводит часть массива после второго ноля.
0
44 / 33 / 14
Регистрация: 27.04.2012
Сообщений: 153
22.01.2016, 13:22
Ivannkz, вставка и вывод разные вещи. он всё вставляет, только вывод у вас изначально был только в третьем цикле, а там как раз последняя часть массива, а я ничего не добавлял.
Из 3 цикла удалить
C#
1
Console.Write("{0} ", newArray[secondZeroIndex + B1 + B2 + B3 + (i-secondZeroIndex)]);
После него вставить это
C#
1
2
3
foreach(int item in newArray){
Console.Write(item + " ");
}
0
0 / 0 / 0
Регистрация: 21.01.2016
Сообщений: 4
22.01.2016, 14:00  [ТС]
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
 
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace СonsoleApplication2
{
    class Program
    {
 
        public static int i { get; set; }
        static void Main()
        {
            int[] arr = new int[20];
            Random r = new Random();
 
            Console.WriteLine("Начальный массив:");
            for (int i = 0; i < arr.Length; i++)
            {
                arr[i] = r.Next(0, 9);
                Console.Write("{0} ", arr[i]);
            }
            Console.WriteLine(" ");
            var count = 0;
            var secondZeroIndex = 0;
            for (var i = 0; i < arr.Length; i++)
            {
                if (arr[i] == 0)
                    count++;
                if (count == 2)
                {
                    secondZeroIndex = i;
                    break;
                }
            }
            if (count < 2)
            {
                Console.WriteLine("В массиве отсутствует второй ноль");
                return;
            }
            else
            {
                int B1 = 6;
                int B2 = 7;
                int B3 = 8;
                int[] newArray = new int[23];
 
                for (var i = 0; i <= secondZeroIndex; i++)
                {
                    newArray[i] = arr[i];
                }
 
                newArray[secondZeroIndex+1] = B1;
                newArray[secondZeroIndex+2] = B2;
                newArray[secondZeroIndex+3] = B3;
 
                for (var i = secondZeroIndex + 4; i < newArray.Length; i++)
                {
                    newArray[i] = arr[i-3];
                }
 
                Console.WriteLine("Дочерний массив:");
                for (int i = 0; i < newArray.Length; i++)
                {
                    Console.Write("{0} ", newArray[i]);
                }
 
                Console.ReadKey();
            }
        }
    }
}
Добавлено через 53 секунды
вот как перекроил) пусть лежит для новых поколений)
0
44 / 33 / 14
Регистрация: 27.04.2012
Сообщений: 153
22.01.2016, 14:30
Ivannkz, маленькие замечания:
1. Удалить продублированныые и лишние библиотеки.
2. public static int i { get; set; } - в текущем контексте было бы достаточно static int i. И она у вас нигде не используется, поэтому не нужна.
3. Вместо var лучше использовать определенные типы. У вас тут везде int.
4. По желанию, я бы в выводе использовал foreach, как я и написал выше. Да и в инициализации массива тоже можно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.01.2016, 14:30
Помогаю со студенческими работами здесь

Определить количество элементов в массиве после второго нулевого элемента
Ребят, помогите пожалуйста Сколько элементов в массиве А(n) после 2 нулевого элемента? n=7 A(0,4,5,0,3,2,7) В массиве А(n) найти...

Преобразовать массив, упорядочив по убыванию все элементы, стоящие после второго нулевого
Ввести массив K(N). Вывести его. Преобразовать массив, упорядочив по убыванию все элементы, стоящие после второго нулевого. Вывести...

В массиве А определить 5 наибольших значений и, расположив их по убыванию, вставить в массив В после его наименьшего элемента
1. Даны два массива А(n) и B(m) целых чисел. В массиве А определить 5 наибольших значений и, расположив их по убыванию, вставить в массив В...

Дан массив Z(17). Найти количество отрицательных элементов после третьего нулевого элемента.
1. Дан массив Z(17). Найти количество отрицательных элементов после третьего нулевого элемента. 2. Дан массив А(16). Найти Произведение...

Сортировка массива до второго нулевого элемента
задание такое. отсортировать по возрастанию значений элемента до второго нулевого элемента (если нулей меньше двух - сортировать по...


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

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

Новые блоги и статьи
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru