Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.58/743: Рейтинг темы: голосов - 743, средняя оценка - 4.58
zalogic
189 / 188 / 15
Регистрация: 12.12.2010
Сообщений: 269
1

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

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

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


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

106
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2010, 12:32
Ответы с готовыми решениями:

Примеры для книги «C# для школьников»
Здравствуйте! Скачал книги C# для школьников. Вот эту...

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

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

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

Ищу 11 класс для участие в командной уральской олимпиаде для школьников
Нужен 1 человек в команду. пишите

20
Masson1848
262 / 204 / 134
Регистрация: 03.10.2017
Сообщений: 746
Записей в блоге: 1
Завершенные тесты: 3
12.06.2019, 19:48 21
Зигзагообразное заполнение массивов.

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

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
12.06.2019, 19:48
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.06.2019, 19:48

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Программа для регистрации результатов по экзаменам для школьников
Здравствуйте, друзья! На форме GridView, несколько textbox-ов и кнопка Insert (pic1). База состоит...

Программирование для школьников
Помогите пожалуйста вспомнить название программы обучения программированию. Начинал с нее в школе...

Java для школьников книга
Нашел довольно полезную книгу по C# http://www.ozon.ru/context/detail/id/4844070/ Есть ли подобная...


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

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.