Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.92/1422: Рейтинг темы: голосов - 1422, средняя оценка - 4.92
 Аватар для zalogic
194 / 193 / 15
Регистрация: 12.12.2010
Сообщений: 270

FAQ для студентов или школьников

15.12.2010, 12:32. Показов 263932. Ответов 20
Метки faq (Все метки)

Студворк — интернет-сервис помощи студентам
Товарищи! Если у Вас есть желание что-то добавить в данный FAQ, то просьба соблюдать некоторые правила перед публикацией своего примера:
  • Не выкладывайте примеры кода, которые уже присутствует в данном FAQ (только если метод решения схож с уже предложенным).
    Не поленитесь просмотреть уже предложенные примеры.
  • Обязательно добавляйте к коду комментарии, это всё-таки FAQ для студентов или школьников.
  • Придерживайтесь приведенного ниже стиля оформления:
    Описание задачи:
    C#
    1
    
    //Решение
  • Если размер Вашего сообщения очень большой используйте тег форматирования [SPOILER] для его сжатия:
    Code
    1
    
    [SPOILER="Заголовок"]Текст который будет скрыт.[/SPOILER]
    Пример:
    Описание задачи (краткое)
    Описание задачи (полное):
    C#
    1
    
    //Решение

    Исходный код этого фрагмента:
    Code
    1
    
    [SPOILER="Описание задачи"][CSHARP]//Решение[/CSHARP][/SPOILER]
  • Сообщения не отвечающие вышеуказанным требованиям будут удаляться.


Часто на форуме возникают сообщения от студентов или школьников которые не могут решить задачи на массивы, текст и т.д. В этом FAQ кратко опишу основные куски когда которые можно использовать.
Создание консольного приложения
Открываем Visual Studio. Файл -> Создать проект -> Консольное приложение.
Слева написан язык программирования, выберите С#.
Оъявление одномерного и двумерного массива
-одномерный
C#
1
2
int N = 10;
int[] a = new int[N];
-двумерный
C#
1
2
int N = 10, M = 10;
int[,] a = new int[N, M];
Вывод матрицы на экран
C#
1
2
3
4
5
6
7
8
9
10
Console.WriteLine("исходная матрица:");
 
            for (int i = 0; i < N; i++)
            {
                for (int j = 0; j < M; j++)
          
                    Console.Write(a[i, j] + " ");
   
                Console.WriteLine();
            }


Вывод массива на экран
C#
1
2
3
Console.WriteLine("исходный массив:");
 
            for (int i = 0; i < N; i++) Console.Write(a[i] + " ");


Заполним матрицу случайными числами
C#
1
2
3
4
5
6
7
8
9
10
            Random random = new Random();
            int rand;
            for (int i = 0; i < N; i++)
            {
                for (int j = 0; j < M; j++)
                {
                    rand = random.Next(0, 100);
                    a[i, j]=rand;
                }
            }


Заполним массив случайными величинами
C#
1
2
3
4
5
6
7
            Random random = new Random();
            int rand;
            for (int i = 0; i < N; i++)
            {
                    rand = random.Next(0, 100);
                    a[i]=rand;  
            }


Сортировка пузырьком(bubble sort)
C#
1
2
3
4
5
6
7
8
9
10
11
           int  buf;
            for (int i = 0; i < N - 1; i++)
            {
                for (int j = i + 1; j < N; j++)
                {
                    if (A[i] > A[j])
                    {
                        buf = A[i];
                       A[i] = A[j];
                       A[j] = buf;
                    }
В условии меняйте знак if (A[i] > A[j]) на if (A[i] < A[j]) если нужна сортировка по убыванию.


Определение максимального числа в массиве
C#
1
2
3
4
5
6
            int max= int.MinValue;
            for (int i = 0; i < N; i++)
            {
                if (a[i] > max)
                    max = a[i];
            }


Определение минимального числа в массиве
C#
1
2
3
4
5
6
           int min= int.MaxValue;
            for (int i = 0; i < N; i++)
            {
                if (a[i] < min)
                    min = a[i];
            }


Определение суммы чисел в массиве

C#
1
2
3
int sum=0;
            for (int i = 0; i < N; i++)
            sum+=a[i];



Чуть позже выложу больше шарпокусков(других алгоритмов и тд)

Список алгоритмов в теме

Изменяет порядок элементов последовательности на противоположный
Возвращает различающиеся элементы последовательности
Возвращает только те элементы последовательности first, которых нет в последовательности second
Находит пересечение множеств, представленных двумя последовательностями
Проецирует матрицу в последовательность
Находит объединение множеств, представленных двумя последовательностями
Заполнение массива случайными не повторяющимися числами.


Вывод массива на экран
Заполним массив случайными величинами(Linq)
Определение минимального числа в массиве
Определение максимального числа в массиве
Определение суммы чисел в массиве
Изменяет порядок элементов последовательности на противоположный
Возвращает различающиеся элементы последовательности
Возвращает только те элементы последовательности first, которых нет в последовательности second
Находит пересечение множеств, представленных двумя последовательностями
Проецирует матрицу в одномерный массив
Находит объединение множеств, представленных двумя последовательностями


Небольшая функция для вычисления суммы ряда.

Вычисление определителя матрицы рекурсивно

Основные способы сортировки списков или массивов в C#

Двоичный поиск (в отсортированном массиве)
Поиск методом интерполяции (в отсортированном массиве)


Вычисление НОД двух чисел

Вывод массива на экран
Проекция матрицы в одномерный массив
Массив элементов последовательности first, которых нет в последовательности second


Перевод из десятичной системы счисления в другие

109
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.12.2010, 12:32
Ответы с готовыми решениями:

Может у кого то есть БД по успеваемости студентов или школьников
Желательно с запросами, макросами, формами

Oracle запустила программу для студентов и школьников
Участникам предлагается, проявив творческое мышление, решить прикладные задачи, которые представлены в 2-х разделах, на выбор: Digital...

Что лучше для школьников PascalABC.NET или C++
Ну начнем с того я программирую на С++ Pascal не знаю но мой друг твердит, что код Pascal читабельнее, говорит что за 4 строки можно...

20
315 / 244 / 149
Регистрация: 03.10.2017
Сообщений: 886
Записей в блоге: 1
12.06.2019, 19:48
Студворк — интернет-сервис помощи студентам
Зигзагообразное заполнение массивов.

Влево-вправо по строкам

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
for (int i = 0; i < Arr.GetLength(0); i++)
            {
                for (int j = 0; j < Arr.GetLength(1); j++)
                {
                    int element = int.Parse(Console.ReadLine());
 
                    // Задаём направление 
                    if (i % 2 == 0)
                    {
                        Arr[i, j] = element;
                    }
                    else
                    {
                        Arr[i, Arr.GetLength(1) - j - 1] = element;
                    }
                }
            }


Вверх-вниз по столбцам

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
for (int i = 0; i < Arr.GetLength(1); i++)
            {
                for (int j = 0; j < Arr.GetLength(0); j++)
                {
                    int element = int.Parse(Console.ReadLine());
 
                    // Задаём направление 
                    if (i % 2 == 0)
                    {
                        Arr[j, i] = element;
                    }
                    else
                    {
                        Arr[ Arr.GetLength(0) - j - 1, i] = element;
                    }
                }
            }


Заполнение по диагоналям

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
int[,] Arr = new int[n, m];
 
            // начинаем с нижнего левого элемента 
            int row = Arr.GetLength(0)-1;
            int column = 0;
 
            // Количество диагоналей равно высота + Ширина - 1
            for (int i=0;i< Arr.GetLength(0) + Arr.GetLength(1) - 1; i++)
            {
                // Задаём направление
                if (i % 2 == 0)
                {
                    while (row>=0 && column >= 0)
                    {
                        Arr[row, column] = int.Parse(Console.ReadLine());
 
                        row--;
                        column--;
                    }
 
                    // Если уменьшился строка, значит и уменьшился столбец, поэтому столбец мы увеличиваем на два
                    // Первое увеличение возращет его в предыдущее положение, а второе задаёт новую диагональ
                    if (row < 0)
                    {
                        row++;
                        column += 2;
                    }
                    else if (column < 0)
                    {
                        column++;
                    }
 
                    
                }
                else
                {
                    while (row < Arr.GetLength(0) && column < Arr.GetLength(1))
                    {
                        Arr[row, column] = int.Parse(Console.ReadLine());
 
                        row++;
                        column++;
                    }
 
                    // Аналогично со столбцами ниже, только теперь строка
                    if (column == Arr.GetLength(1))
                    {
                        column--;
                        row -= 2;
                    }
                    else if (row == Arr.GetLength(0))
                    {
                        row--;
                    }
                }                
 
            }
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.06.2019, 19:48

Найти экономичный вариант перевозки школьников если в автобус помещаются 20 школьников
Даны N- школьников. Стоимость аренды такси K смн. Стоимость аренды автобуса Р смн. Найти экономичный вариант перевозки школьников если в...

Сколько школьников списывали на экзамене, и выведите порядковые номера списывавших школьников
Здравствуйте, помогите пожалуйста. Группа из N школьников сдавала ЕГЭ по информатике. Каждый школьник получил некоторый результат от 0 до...

Определите, сколько школьников списывали на экзамене, и выведите порядковые номера списывавших школьников
Задача нужна с комментариями! Лимит времени 2000/4000/4000/4000 мс. Лимит памяти 65000/65000/65000/65000 Кб. Группа из N школьников...

Определите, сколько школьников списывали на экзамене, и выведите порядковые номера списывавших школьников (шко
Задача нужна с комментариями! Лимит времени 2000/4000/4000/4000 мс. Лимит памяти 65000/65000/65000/65000 Кб. Группа из N школьников...

Определите, сколько школьников получили ошибочные результаты, и выведите порядковые номера этих школьников
Лимит времени 2000/4000/4000/4000 мс. Лимит памяти 65000/65000/65000/65000 Кб. Группа из N школьников сдавала ЕГЭ по информатике. Каждый...


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

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Новые блоги и статьи
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения. https:/ / habr. com/ ru/ sandbox/ 295048/ начало и оглавление - Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование. . .
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0) Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона Уважаемые коллеги! В продолжение. . .
Грибы - это женщины, деревья - это мужчины. Анти инь янь для союза мужчины и женщины.
anaschu 18.07.2026
ГЛАВНЫЙ НАУЧНО-ФИЛОСОФСКИЙ ВЫВОД: Сексуально-Репродуктивный Капитализм против Государства Моногамии Коллеги, мы вышли на финишную прямую 20-мерного ОДУ-моделирования вековой сукцессии (ветка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru