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

Перестановка чисел, ref и out

19.04.2021, 17:59. Показов 3334. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите разобраться с ref в C# ,
у меня такое задание -"Создайте приложение для циклической перестановки трѐх чисел. Для циклической перестановки напишите вспомогательную функцию, принимающую три параметра по ссылке." -с которым я не могу справиться . Помогите с кодом пожалуйста ,
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.04.2021, 17:59
Ответы с готовыми решениями:

Полиморфизм: ошибка преобразование типа из "ref cl_child" в "ref cl_proto" невозможно
Создал класс предок cl_proto, объявил класс потомок cl_child : cl_proto. Написал отдельную функцию с параметром-типом ref cl_proto - на...

Перестановка чисел
Народ в делфи вроде работате, поиогите как в c++ его оформить ?? Составить программу, используя рекурсивную процедуру (функцию). ...

Перестановка чисел
учитель в школе сегодня задал такое задание. Требуется написать программу перестановки чисел. Вида uses crt; var v: array of...

5
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
19.04.2021, 18:20
Лучший ответ Сообщение было отмечено I can как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
        static void Swap<T>(ref T t1, ref T t2, ref T t3) => (t2, t3, t1) = (t1, t2, t3);
        static void Main(string[] args)
        {
            int a = 1, b = 2, c = 3;
            Console.WriteLine($"a = {a}, b = {b}, c = {c}");
            Swap(ref a, ref b, ref c);
            Console.WriteLine($"a = {a}, b = {b}, c = {c}");
            Swap(ref a, ref b, ref c);
            Console.WriteLine($"a = {a}, b = {b}, c = {c}");
            Swap(ref a, ref b, ref c);
            Console.WriteLine($"a = {a}, b = {b}, c = {c}");
        }
1
 Аватар для JustinTime
964 / 582 / 268
Регистрация: 20.12.2016
Сообщений: 1,506
19.04.2021, 18:21
Лучший ответ Сообщение было отмечено ed- как решение

Решение

ed-,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
static void Swap(ref int a, ref int b, ref int c)
{
    var t = a;
    a = b;
    b = c;
    c = t;
}
 
var n1 = 1;
var n2 = 2;
var n3 = 3;
 
Console.WriteLine($"{n1}, {n2}, {n3}");
Swap(ref n1, ref n2, ref n3);
Console.WriteLine($"{n1}, {n2}, {n3}");
0
0 / 0 / 0
Регистрация: 31.03.2019
Сообщений: 35
19.04.2021, 20:42  [ТС]
JustinTime,



я только недавно начал изучать с# , можете объяснить что к чему ?
вот так я понимаю :
строчки 9 10 11 - это мы задаем значения переменным n.
строчка 1 - создаем функцию с именем swap которая вернет переменные a b c ( если я правильно понимаю смысл ref)
строки 2-7 это перестановка значений a b c
строка 13 - вывод n1 n2 n3
строка 14 - меняет их местами (n)
строка 15 выводит перемешанные nки
________________________________________ _
я не понимаю зачем строка 14 если мы все меняем в 1-7 строках.
и почему мы меняем местами a b c когда значения в н1 н2 н3 и a b c нигде не используются ?
---------------------------------------------------------
объясните пожалуйста новичку )
0
fly
 Аватар для I can
4943 / 4625 / 843
Регистрация: 13.04.2015
Сообщений: 9,804
19.04.2021, 20:55
Цитата Сообщение от ed- Посмотреть сообщение
я не понимаю зачем строка 14
Это же собственно и есть вызов метода циклического обмена

Цитата Сообщение от ed- Посмотреть сообщение
a b c нигде не используются
a b c - это параметры метода, они используются.
1
fly
 Аватар для I can
4943 / 4625 / 843
Регистрация: 13.04.2015
Сообщений: 9,804
19.04.2021, 21:03
Лучший ответ Сообщение было отмечено ed- как решение

Решение

1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.04.2021, 21:03
Помогаю со студенческими работами здесь

Перестановка чисел
Дано трехзначное число. В нем зачеркнули последнюю справа цифру и приписали ее в начале. Найти полученное число. (python)

перестановка чисел
Подскажите пжл, как во введённой переменной переставить числа наоборот?

ПЕРЕСТАНОВКА ЧИСЕЛ
В ячейку C2 и D2 я ввожу числа а в ячейках F2 и G2 выводяться эти числа, тоесть F2=C2 а G2=D2 Мне нужно чтобы в ячейке F2 всегда...

Перестановка чисел
Ребята, есть такое задание: &quot;В матрице (4х5)Нужно создать процедуру которая в каждой строке матрицы перемещает положительные элементы в...

Перестановка чисел
Дано двузначное число. Вывести число, полученное при перестановке цифр исходного числа.


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru