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

Создать массив из номеров нулевых элементов

17.11.2013, 21:40. Показов 6879. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан массив целых чисел A[N], среди которых есть нулевые элементы. Создать массив из номеров таких элементов.
правильно ли я сделав задание?
C#
1
2
3
4
5
6
7
8
9
 static void Main(string[] args)
        {
            int[] a = new int[] {99,10,0,44,56,0,29,7,0,5};
            
 
            for (int i = 0; i < 10; i++) 
                Console.Write(a[i] + " ");
 
        }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.11.2013, 21:40
Ответы с готовыми решениями:

Массив: Получить вектор номеров нулевых элементов заданного вектора.
Задан вектор действительных чисел T(t1,t2,..,t14). Получить вектор номеров нулевых элементов заданного вектора.

Создать массив из номеров нулевых элементов.
Ребят,помогите пожалуйста написать программы. 1 В целочислительной последовательности есть нулевые элементы.Создать массив из номеров...

Создать массив из номеров нулевых элементов
Добрый вечер уважаемые. Начал изучать java, решаю задачи по ней. В общем есть такая задача: В целочисленной последовательности есть...

10
 Аватар для memphis
740 / 284 / 83
Регистрация: 12.12.2012
Сообщений: 564
17.11.2013, 21:45
Цитата Сообщение от tranquil Посмотреть сообщение
правильно ли я сделав задание?
Правильно. Но не задание.
Почему
Цитата Сообщение от tranquil Посмотреть сообщение
for (int i = 0; i < 10; i++)
вы перебираете массив из 10 элементов? Разве в задании указан такой размер массива?
И по заданию вам нужно создать массив из части элементов заданного массива. Где вы это делаете?
1
53 / 53 / 10
Регистрация: 26.09.2013
Сообщений: 277
17.11.2013, 22:11  [ТС]
задал массив целых чисел."среди которых есть нулевые элементы"-как вот это задать не знаю.
"Создать массив из номеров таких элементов"- вот это тоже не понятно как делается.
C#
1
2
3
4
5
6
7
8
9
10
static void Main(string[] args)
        {
            int N = 0;
            int[] a = new int[N];
            for (int i = 0; i < N; i++) 
 
                Console.WriteLine(a[i]+" ");
 
 
        }
0
2 / 2 / 0
Регистрация: 16.06.2013
Сообщений: 51
17.11.2013, 22:19
Вам нужны только нули? Если так, то вот.

C#
1
2
3
4
5
6
7
8
9
10
11
12
static void Main(string[] args)
        {
            int[] a = new int[] {99,10,0,44,56,0,29,7,0,5};
            
 
            for (int i = 0; i < a.Length; i++) 
                if( a[i] == 0) {
                Console.Write(a[i] + " ");
                }
         }
    }
}
1
369 / 341 / 108
Регистрация: 12.02.2013
Сообщений: 653
17.11.2013, 22:20
Цитата Сообщение от tranquil Посмотреть сообщение
"Создать массив из номеров таких элементов"- вот это тоже не понятно как делается.
вот у вас дан массив
Цитата Сообщение от tranquil Посмотреть сообщение
int[] a = new int[] {99,10,0,44,56,0,29,7,0,5};
в массиве 3 нуля и индексы этих элементов равны: 2, 6, 9... Соответственно, нужно создать массив {2, 6, 9}
1
 Аватар для sysrepos
83 / 77 / 30
Регистрация: 08.08.2013
Сообщений: 461
Записей в блоге: 1
17.11.2013, 22:51
так должно работать
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
class MyClass
{
   
    static void Main()
    {
        int kol_nol=0;
 
        int[] arr1 = new int[] { 99, 10, 0, 44, 56, 0, 29, 7, 0, 5 };
        int[] arr0 = new int[0];
                       
        for (int i = 0; i < arr1.Length; i++)
        {
            if (arr1[i] == 0)
            {
                kol_nol = kol_nol + 1;
                Array.Resize(ref arr0, kol_nol);
                arr0[kol_nol-1] = i;
            }
        }
 
        
        Console.ReadLine();
        
    }
2
 Аватар для memphis
740 / 284 / 83
Регистрация: 12.12.2012
Сообщений: 564
17.11.2013, 23:40
sysrepos,
Цитата Сообщение от sysrepos Посмотреть сообщение
Array.Resize(ref arr0, kol_nol);
Этот метод работает не так как вы думаете. MSDN говорит, что
Этот метод выделяет новый массив заданного размера, копирует элементы из старого массива в новый, а затем заменяет старый массив новым. array должно быть одномерным массивом.

Если массив array равен значению null, этот метод создает новый массив указанного размера.

Если значение newSize больше значения свойства Length старого массива, выделяется новый массив, в который копируются все элементы старого массива. Если значение newSize меньше значения свойства Length старого массива, выделяется новый массив, в который копируются все элементы старого массива, пока этот массив не окажется заполненным. Оставшиеся элементы старого массива игнорируются. Если значение newSize равно значению свойства Length старого массива, этот метод не выполняет никаких действий.
А если в массиве будет стотыщьпицот нулей? Правильно, будет создано (и скопировано) столько же новых массивов.
0
 Аватар для sysrepos
83 / 77 / 30
Регистрация: 08.08.2013
Сообщений: 461
Записей в блоге: 1
19.11.2013, 00:42
ну а как тогда правильнее решить? в предыдущих версиях массив индексов нулей не создавался, а просто индексы сразу выводились на экран.
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
19.11.2013, 18:43
C#
1
2
3
4
5
6
7
8
9
List<int> res = new List<int>();
for (int i = 0; i < arr1.Length; i++)
        {
            if (arr1[i] == 0)
            {
                res.Add(i);
            }
        }
int[] arr = res.ToArray();
2
 Аватар для memphis
740 / 284 / 83
Регистрация: 12.12.2012
Сообщений: 564
19.11.2013, 23:42
sysrepos, поковыряйте этот класс List<T>. Уверен, вам будет интересно. В нём так же происходит выделение памяти под новый массив большего размера, если емкости существующего не хватает и так же происходит копирование старого массива в новый. Как бы всё то же самое, что и у вас. Однако есть один нюанс, снижающий затраты.
0
 Аватар для Дмитрий3241
660 / 530 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
Записей в блоге: 6
20.11.2013, 13:34
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
using System;
 
class Program
{
    static void Main( string[] args )
    {
        const int N = 50;
        int[] arr = new int[N];
 
        var rand = new Random();
        for ( int i = 0; i < N; i++ ) arr[i] = rand.Next( 0, 51 );
 
        int nullElem = 0;
        for ( int i = 0; i < N; i++ )
            if ( arr[i] == 0 ) nullElem++;
 
        int j = 0;
        int[] newArr = new int[N - nullElem];
        for ( int i = 0; i < N; i++ )
            if ( arr[i] != 0 ) newArr[j++] = i;
    }
}
/*
Дан массив целых чисел A[N], среди которых есть нулевые элементы. Создать массив из номеров таких элементов.
*/
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.11.2013, 13:34
Помогаю со студенческими работами здесь

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

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

Создать массив из номеров нулевых элементов последовательности
В целочисленной последовательности есть нулевые элементы. Создать массив из номеров этих элементов. Плиз помогите решить , завтра...

Создать массив из номеров нулевых элементов исходного массива
В целочисленной последовательности есть нулевые элементы. Создать массив из номеров этих элементов. Плиз помогите решить , завтра сдавать...

Создать массив из номеров нулевых элементов исходного массива
Дан массив целых чисел, в котором есть нулевые элементы. Создать массив из номеров этих элементов.


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 19.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru