Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 26.10.2019
Сообщений: 7

Массив

01.11.2019, 16:47. Показов 3939. Ответов 20
Метки c# (Все метки)

Студворк — интернет-сервис помощи студентам
Заполнить одномерный массив числовыми данными случайным образом (из промежутка [-10; 10]). Определить сумму положительных и количество отрицательных элементов массива.
И после этого модифицировать программу, изменив диапазон случайных чисел
Диапазон [0;-100]
Задание: Обменять местами наибольший и наименьший элементы
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.11.2019, 16:47
Ответы с готовыми решениями:

Объвить массив а как на картинке, затем в массив b скопировать значения массива a
Помогите пожалуйста с заданием. Объвить массив а как на картинке, затем в массив b скопировать значения массива a. Очень буду...

Как перевести массив байт в массив символов, используя определённую кодировку?
Всем доброго времени суток, ув. форумчане! Делаю алгоритм LFSR, почти закончил. Но застопорился на вот таком этапе. У меня имеется...

Заполнить массив М вещественными числами. Сформировать массив А из элементов главной диагонали M
Задача. Задан массив М размерностью 4х4. Заполнить массив М произвольными вещественными числами. Сформировать массив А, который содержит...

20
 Аватар для jester
352 / 247 / 76
Регистрация: 18.03.2016
Сообщений: 979
01.11.2019, 17:06
КИРИЛЧА, попробуй разделить всё задание на части и искать ответы на них.
0
5 / 4 / 1
Регистрация: 11.04.2019
Сообщений: 36
03.11.2019, 15:38
КИРИЛЧА, используй метод Rand.Next() класса Random
для суммы положительных и отрицательных элементов можно использовать LINQ либо юзать циклы(на твое усмотрение)
0
 Аватар для Arthur Progy
251 / 167 / 94
Регистрация: 16.09.2019
Сообщений: 457
03.11.2019, 16:23
КИРИЛЧА,
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
public static void Main()
        {
            Console.CursorVisible = false;
            Console.ForegroundColor = ConsoleColor.Green;
 
            var array = CreateArray(20);
            FillArray(array, -10, 10);
            PrintArray(array);
            Console.WriteLine();
            var minusNumbers = array.Where(x => x < 0).Count();
            Console.WriteLine(minusNumbers);
            var plusNumbers = array.Where(x => x > 0).Count();
            Console.WriteLine(plusNumbers);
 
            FillArray(array, 0, 100);
            PrintArray(array);
            Console.WriteLine();
 
            var min = array.Min();
            var max = array.Max();
 
            array[Array.IndexOf(array, min)] = array[Array.IndexOf(array, max)];
            array[Array.IndexOf(array, max)] = min;
            PrintArray(array);
 
            Console.ReadKey(true);
        }
 
        public static int[] CreateArray(int count) => new int[count];
        public static void FillArray(int[] array, int from, int to)
        {
            var rnd = new Random();
            for(int i = 0; i < array.Length; i++)
                array[i] = rnd.Next(from, to + 1);
        }
        public static void PrintArray(int[] array)
        {
            foreach(var item in array)
                Console.Write($"{item} ");
        }
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
03.11.2019, 16:59
КИРИЛЧА, решение задачи через NETSquirrel 0.0.25:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using NETSquirrel.Extensions;
using NETSquirrel.Utils;
 
namespace NETSquirrelApplicationTest
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            var x = ArraysUtils.CreateRandomIntArray(10, -10, 11);
            x.PrintLine();
            BaseTypesUtils.Swap(ref x[x.MinIndex()], ref x[x.MaxIndex()]);
            x.PrintLine();
        }
    }
}
0
 Аватар для jester
352 / 247 / 76
Регистрация: 18.03.2016
Сообщений: 979
03.11.2019, 17:09
Arthur Progy,
Цитата Сообщение от Arthur Progy Посмотреть сообщение
public static int[] CreateArray(int count) => new int[count];


C#
1
2
3
var minusNumbers = array.Where(x => x < 0).Count();
 
var minusNumbers = array.Count(x => x < 0);
Цитата Сообщение от Arthur Progy Посмотреть сообщение
C#
1
2
3
4
var min = array.Min();
var max = array.Max();
array[Array.IndexOf(array, min)] = array[Array.IndexOf(array, max)];
array[Array.IndexOf(array, max)] = min;
пять проходов вместо одного
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
03.11.2019, 17:18
Цитата Сообщение от КИРИЛЧА Посмотреть сообщение
Определить сумму положительных и количество отрицательных элементов массива.
Можно сделать одним циклом, но, опять же, насколько Вам (или преподавателю, если это его задание) нужна производительная программа? Если не особо нужна, можно продемонстрировать умение пользоваться LINQ, но в меру.
0
 Аватар для jester
352 / 247 / 76
Регистрация: 18.03.2016
Сообщений: 979
03.11.2019, 17:31
Соколиный глаз, ему ничего не надо написал и забыл

C#
1
var x = ArraysUtils.CreateRandomIntArray(10, -10, 11);
не хочешь сделать что то похожее на это
было бы удобнее мне кажется

C#
1
var x = ArraysUtils.CreateArray<int>(10).FillRandom(-10, 11);
1
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
03.11.2019, 17:44
Цитата Сообщение от jester Посмотреть сообщение
было бы удобнее мне кажется
Сразу вопрос: почему? Вообще, можно сделать:
C#
1
2
10.CreateRandomIntArray(-10, 11);
(10, 10).CreateRandomIntMatrix(-10, 11);
0
 Аватар для jester
352 / 247 / 76
Регистрация: 18.03.2016
Сообщений: 979
03.11.2019, 17:45
Соколиный глаз,
запись var x = 10.Random(-10, 11); создаёт массив целых? а дробные числа?

C#
1
2
3
4
5
var x = ArraysUtils.CreateArray<int>(10).FillRandom(-10, 11);
var x = ArraysUtils.CreateArray<double>(10).FillRandom(-10, 11);
var x = ArraysUtils.CreateArray<BigInteger>(10).FillRandom(-10, 11);
//можно и не генерировать случайные числа а просто создать массив типа
var x = ArraysUtils.CreateArray<BigInteger>(10);
Генерирование случайного числа для типа ulong
1
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
03.11.2019, 17:49
Цитата Сообщение от jester Посмотреть сообщение
Соколиный глаз,
запись var x = 10.Random(-10, 11); создаёт массив целых?
В примере - да.

Цитата Сообщение от jester Посмотреть сообщение
а дробные числа?
Сейчас для дробных (float) имеется CreateRandomFloatArray (для матриц аналогичный функционал есть). Я как понимаю Вы хотите возможность создавать массив случайных значений для произвольного типа?
0
 Аватар для jester
352 / 247 / 76
Регистрация: 18.03.2016
Сообщений: 979
03.11.2019, 17:57
Цитата Сообщение от Соколиный глаз Посмотреть сообщение
Сразу вопрос: почему? Вообще, можно сделать:
C#
1
2
10.CreateRandomIntArray(-10, 11);
(10, 10).CreateRandomIntMatrix(-10, 11);
ну я бы лучше сделал перегрузку метода
C#
1
var x = ArraysUtils.CreateArray<int>(10, 10).FillRandom(-10, 11);
можно ещё короче))
C#
1
var x = Arrays.Create<int>(10, 10).Random(-10, 11);
1
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
03.11.2019, 18:02
jester, меня смущает:
Цитата Сообщение от jester Посмотреть сообщение
C#
1
ArraysUtils.CreateArray<int>(10, 10)
, в то время, как можно:
C#
1
new int[10, 10]
Но, в любом случае создание массива и его заполнение здесь происходит в два вызова методов. Только, на счёт переименования класса хочу сказать, что это нарушит обратную совместимость. В C# нельзя объявлять глобальные alias'ы типов:
C#
1
using Arrays = NETSquirrel.Utils.ArraysUtils;
, псевдонимы действуют в границах одного файла, в котором определены.
0
 Аватар для jester
352 / 247 / 76
Регистрация: 18.03.2016
Сообщений: 979
03.11.2019, 18:07
Соколиный глаз,
Цитата Сообщение от Соколиный глаз Посмотреть сообщение
Сейчас для дробных (float) имеется CreateRandomFloatArray (для матриц аналогичный функционал есть). Я как понимаю Вы хотите возможность создавать массив случайных значений для произвольного типа?
Было бы очень хорошо если было бы возможность:
создавать массивы любых типов
указывать рандомное заполнение (диапазон)
массивы любых любых размерностей (у Array есть Rank и GetLength думаю это можно сделать)

наверное должна быть возможность создавать массивы с любыми числовыми типами
char и стринг тоже будет нужно? я не знаю))
1
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
03.11.2019, 18:11
jester, давайте сделаем опрос и выясним, насколько этот функционал был бы востребованным (например, Вы, в отдельной теме, как автор идеи)?
0
 Аватар для jester
352 / 247 / 76
Регистрация: 18.03.2016
Сообщений: 979
03.11.2019, 18:22
Соколиный глаз, для чего ты вообще тогда создал этот класс?
Цитата Сообщение от Соколиный глаз Посмотреть сообщение
Но, в любом случае создание массива и его заполнение здесь происходит в два вызова методов
какая разница один или два

Цитата Сообщение от Соколиный глаз Посмотреть сообщение
меня смущает
мне кажется так удобнее для реализации и понятнее что будет происходит при вызове
1
56 / 56 / 26
Регистрация: 13.11.2013
Сообщений: 234
Записей в блоге: 1
03.11.2019, 18:23
Цитата Сообщение от jester Посмотреть сообщение
var x = ArraysUtils.CreateArray<int>(10).FillRan dom(-10, 11);
jester, Данное предложение требует большей формализации. Генерация конкретного значения на некотором интервале для произвольного типа - является не разрешимым. Например:
C#
1
var x = ArraysUtils.CreateArray<System.Windows.Forms.Button>(10).FillRandom(-10, 11);
Какой должен быть результат?
1
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
03.11.2019, 18:24
Цитата Сообщение от jester Посмотреть сообщение
Соколиный глаз, для чего ты вообще тогда создал этот класс?
Класс предоставляет функционал для работы с массивами (их чтение с клавиатуры, например).
0
 Аватар для jester
352 / 247 / 76
Регистрация: 18.03.2016
Сообщений: 979
03.11.2019, 18:32
pavelDev,
Цитата Сообщение от jester Посмотреть сообщение
наверное должна быть возможность создавать массивы с любыми числовыми типами
char и стринг тоже будет нужно? я не знаю))
Добавлено через 5 минут
Соколиный глаз,
Цитата Сообщение от Соколиный глаз Посмотреть сообщение
jester, давайте сделаем опрос и выясним, насколько этот функционал был бы востребованным (например, Вы, в отдельной теме, как автор идеи)?
я таким не занимаюсь)) если хочешь можешь устроить опрос
0
03.11.2019, 18:44

Не по теме:

jester, Система обобщенного программирования языка C# не позволяет выполнять проверку подставленного типа на этапе компиляции. Таким образом если пользователь введёт недопустимый тип будет выведена ошибка на этапе выполнения. Стоит ли данный синтаксис этого? Хотя он красив.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.11.2019, 18:44
Помогаю со студенческими работами здесь

Занести оба массива в новый массив и вывести этот массив на экран
Уважаемые программисты пожалуйста помогите с заданием!!!! Задание: 1) объявить два массива, написать программу, которая заносит оба...

Дан целочисленный массив A размером n. Построить массив B, содержащий элементы массива A
Дан целочисленный массив A размером n. Построить массив B, содержащий элементы массива A, стоящие в нечетных позициях. Отсортировать массив...

Массив: сформировать массив А той же размерности по правилу: если номер четный, то Аi = Сi /2...
Прошу помощи! Из элементов массива С сформировать массив А той же размерности по правилу: если номер четный, то Аi = Сi /2, если...

Дан массив. Переписать его второй, четвертый и т.д. элементы в другой массив
Нужна помощь по задачке: Дан массив. Переписать его второй, четвер*тый и т.д. элементы в другой массив такого же размера а) расположив...

Массив: Сформировать третий массив из упорядоченных по убыванию значений заданных массивов.
Ввести два массива действительных чисел, состоящих из 7 и 9 элементов. Сформировать третий массив из упорядоченных по убыванию значений...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru