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

Передать массив в другую функцию

11.11.2010, 21:02. Показов 2342. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
// Тут маршалинг...
[StructLayout(LayoutKind.Explicit, Size = 2, Pack = 1)] // тип ch (Size = 2)
    public class cByteChar
    {
        // тут или символ = 2 байта или 2 элемента = 1 байт
        [FieldOffset(0)] // символ ch начинается с нулевого байта (всего 2 байта = 0 и 1)
        public char ch;
        [FieldOffset(0)] // этиже начинаются с 0 байта (всего 1 байт)
        public byte ch0;
        [FieldOffset(1)] // начинаются с 1 байта (всего 1 байт)
        public byte ch1;
    }
    //--------------------------------------------------------------------------------------------------------------
    [StructLayout(LayoutKind.Explicit, Size = 4, Pack = 1)] // тип int (Size = 4)
    public class cByteInt   // побитовое представление целого числа
    {
        // тут или символ = 4 байта или 4 элемента = 1 байт
        [FieldOffset(0)] // По аналогии
        public int n;
        [FieldOffset(0)]
        public byte b0;
        [FieldOffset(1)]
        public byte b1;
        [FieldOffset(2)]
        public byte b2;
        [FieldOffset(3)]
        public byte b3;
    }
    //--------------------------------------------------------------------------------------------------------------
    [StructLayout(LayoutKind.Sequential, Size = 144, Pack = 4)] // тут 36 байта = 32*4+4*4 = 144, кратно 4 (упаковываем по 4 байта)
    public class cData
    {
        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
        public string num;
        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
        public string name;
        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
        public string group;
        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
        public string subj;
        //
        public int day;
        public int month;
        public int year;
        //
        public int mark; // поле целого числа (int)
    }
    //--------------------------------------------------------------------------------------------------------------
    class Modification
    {
        //--------------------------------------------------------------------------------------------------------------
        public static void Data()
        {
            // Заголовок
            Console.WriteLine("|              Добавление              |");
            Console.WriteLine("----------------------------------------");
            // Объявление переменных
            string stud_num = ""; // Номер студ. билета
            string stud_name = ""; // ФИО студента
            string stud_group = ""; // Группа студента
            string stud_subj = ""; // Название предмета
            DateTime stud_date; // Дата экзамена
            int stud_mark = 0; // Оценка на экзамене по предмету
 
            int stud_n = 0; // Количество записей
            Console.Write(" № записей         =>  ");
            stud_n = Convert.ToInt32(Console.ReadLine());
            
            cData[] data = new cData[stud_n];
            cData[] dt = new cData[stud_n];
 
            for (int i = 0; i < stud_n; i++) data[i] = new cData(); // создается сам объект этого типа - функция конструктор
            for (int i = 0; i < stud_n; i++) dt[i] = new cData(); // создается сам объект этого типа - функция конструктор
            // Ввод stud_n записей, добавление их в массив data[]
            for (int i = 0; i < stud_n; i++)
            {
                Console.WriteLine("----------------------------------------");
                Console.WriteLine("|             {0}-ая запись            |", i + 1);
                Console.WriteLine("----------------------------------------");
                //Ввод i-ой записи
                Console.Write(" № студ. билета    =>  ");
                stud_num = Console.ReadLine();
                Console.Write(" ФИО студента      =>  ");
                stud_name = Console.ReadLine();
                Console.Write(" Группа студента   =>  ");
                stud_group = Console.ReadLine();
                Console.Write(" Название предмета =>  ");
                stud_subj = Console.ReadLine();
                Console.Write(" Дата экзамена     =>  ");
                //Перевод типа string в тип DataTime
                stud_date = Convert.ToDateTime(Console.ReadLine());
                Console.Write(" Оценка            =>  ");
                stud_mark = (int)Convert.ToInt32(Console.ReadLine());
                // Запись в массив i-го элемента
                data[i].num = stud_num;
                data[i].name = stud_name;
                data[i].group = stud_group;
                data[i].subj = stud_subj;
                data[i].year = stud_date.Year;
                data[i].year = stud_date.Month;
                data[i].year = stud_date.Day;
                data[i].mark = stud_mark;
 
                Console.WriteLine("----------------------------------------");
                Console.WriteLine("|       {0}-ая запись добавлена!       |", i + 1);
                Console.WriteLine("----------------------------------------");
                Console.WriteLine();
            }
            
            Console.WriteLine("----------------------------------------");
            Console.WriteLine("|         Параметры добавлены!         |");
            Console.WriteLine("----------------------------------------");
            Console.WriteLine();
            Console.WriteLine("Для продолжения нажмите любую клавишу...");
            Console.ReadKey();
            Console.WriteLine();
            Console.WriteLine("----------------------------------------");
        }
}


Тут записывается stud_n элементов м массив data.
Необходимо написать функцию сортировки массива по stud_mark. Вопрос: как передать этот массив в др. функцию....
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.11.2010, 21:02
Ответы с готовыми решениями:

Передать массив в другую форму
Здравствуйте, не могу разобраться как передать массив в другую форму. у меня есть метод получения массива из ListBox: void...

Как передать массив структур из одной формы в другую
Помогите, пожалуйста, не получается передать массив структур из одной формы в другую. Понимаю, что нужно выполнять упаковку-распаковку,...

Как передать динамический массив из функции в другую функцию
Здравствуйте.Не могу передать массив из функции в функцию сортировки. Подскажите как переделать программу : #include...

2
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
11.11.2010, 21:15
нет желания разбираться в таком количестве кода но делается это так
C#
1
2
3
4
5
6
7
8
9
 void MyMethod(int[] arr)
{...}
 
void Method()
{
int[] mas=new int[5];
//какие-то действия
MyMethod(mas);
}
0
51 / 49 / 7
Регистрация: 09.11.2010
Сообщений: 93
11.11.2010, 21:28
Необходимо написать функцию сортировки массива по stud_mark
C#
1
data = data.OrderBy<cData, int>((o)=>o.mark).ToArray<cData>();
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.11.2010, 21:28
Помогаю со студенческими работами здесь

Как передать функцию из класса в другую функцию (в качестве параметра)?
У меня есть такой класс: Class a{ static public function sum($a, $b) { return $a+$b; } static public function sub($a, $b) ...

Написать функцию, которая могла бы передать значение в другую функцию
как сделать функцию которая бы могла передать значеие в другую функцию ну к примеру a=4*b; где b=sin(fi);

jquery, как передать параметром в функцию, другую функцию
Например: Есть функция: function check_number(tel, function2) { $.ajax({ type: &quot;GET&quot;, url: &quot;/inc/ajax.php&quot;, ...

Передать значение в другую функцию
помогите плз разобраться. надо значение переменной n из функции matrica передать в main. #include &lt;iostream.h&gt; #include...

Передать значение переменной в другую функцию
Переменная name хранит выбранное юзером в комбобоксе значение. Хочу его передать в другую функцию, но как? получаю значение от юзера...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
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, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru