Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/48: Рейтинг темы: голосов - 48, средняя оценка - 4.81
1 / 1 / 0
Регистрация: 14.11.2019
Сообщений: 22
1

Заполнить массив согласными буквами

01.12.2019, 18:26. Показов 9224. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дайте намек над чем подумать в коде? Не закончил задание.
Хочу понять как из массива вычленить согласные буквы.

ЗАДАНИЕ.
Заполнить массив большими прописными буквами англ. алф. Буквы брать подряд, но только согласные.
Гласные буквы при присваивании значений элементов нужно пропустить. Вывести итог в консольном окне.


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
   class les4i3
    {
        static void Main()
        {
            char[] symbs = new char[12];
            char s = 'A';
            for (int i = 0; i < symbs.Length; i++)
            {
                symbs[i] = s++;
                Console.Write(symbs[i] + " | ");
            }
            Console.ReadKey();
        }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.12.2019, 18:26
Ответы с готовыми решениями:

Найти в файле все слова с двумя согласными буквами
Задание: считать файл, записать в список, найти слова с 2 негласными буквами, подсчитать их...

Заполнить массив буквами (переменными)
Собственно вопрос в заголовке: Как заполнить одномерный массив буквами английского алфавита? ...

Заполнить массив строчными и прописными латинскими буквами
Есть код, заполняем массив прописными буквами. 1. Какие есть способы (заполнить сразу или...

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

6
2636 / 1564 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
01.12.2019, 18:34 2
Лучший ответ Сообщение было отмечено Roman_Marinov как решение

Решение

Вряд ли машина знает о том, какие буквы в каком-то языке считаются гласными или согласными, если конечно вручную их не задать. Поэтому думаю нужно создать самому массив согласных букв и проверять через него.
Например если какая-то случайная буква есть в массиве согласных букв, значит такая буква согласная, иначе - гласная.
1
1842 / 1184 / 501
Регистрация: 14.10.2018
Сообщений: 3,180
01.12.2019, 18:34 3
Лучший ответ Сообщение было отмечено Roman_Marinov как решение

Решение

Roman_Marinov, не знаю есть ли метод на сравнение только согласных букв, но можно и самому написать
1) создаем массив символов, в него записывает большие согласные буквы (20 штук)
2) рандомно значение от 0 до 19 (при каждом проходе цикла)
3) вытягиваем значение из массива символов с рандомным индексом и записываем в основной массив

Есть и другие варианты, где нужно исключать гласные буквы
1
1 / 1 / 0
Регистрация: 14.11.2019
Сообщений: 22
08.12.2019, 19:59  [ТС] 4
Цитата Сообщение от Enifan Посмотреть сообщение
Roman_Marinov, не знаю есть ли метод на сравнение только согласных букв, но можно и самому написать
1) создаем массив символов, в него записывает большие согласные буквы (20 штук)
2) рандомно значение от 0 до 19 (при каждом проходе цикла)
3) вытягиваем значение из массива символов с рандомным индексом и записываем в основной массив

Есть и другие варианты, где нужно исключать гласные буквы
Так правильно?
без Random получилось
Есть что поправить или доработать?
Жирным выделил новые дописанные строки

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
    class les4i3
    {
        static void Main()
        {
            char[] symbs = new char[26];
            char s = 'A';
[B]            char[] sogl = { 'B', 'C', 'D','F', 'G', 'H', 'J', 'K', 'L', 'M',
                                'N', 'P', 'Q', 'R', 'S', 'T', 'V', 'W', 'X', 'Z' };
[/B]            Console.WriteLine("Массив гласных и согласных букв");
            for (int i = 0; i < symbs.Length; i++)
            {
                symbs[i] = s++;
                Console.Write(symbs[i] + " | ");
            }
     [B]       Console.WriteLine("\nМассив согласных букв");
 
            foreach (char res in sogl)
                {
                    if (res != s)
                    {
                        s++;
                        Console.Write(res + " | ");
                    }
                }
            Console.ReadKey();
        }
    }
}[/B]
Добавлено через 1 минуту
выделение не получилось
0
1842 / 1184 / 501
Регистрация: 14.10.2018
Сообщений: 3,180
08.12.2019, 20:07 5
Цитата Сообщение от Roman_Marinov Посмотреть сообщение
Есть что поправить или доработать?
честно говоря не пойму, что вы хотели сделать, сперва в 1-ый массив записали весь алфавит, затем перебираете 2-ой массив и для каких то целей используете увеличение s++. По сути вы не заполнили массив согласными, а вывели готовый, тот что сами задали.
Цитата Сообщение от Roman_Marinov Посмотреть сообщение
выделение не получилось
в коде выделение не действует, к сожалению
1
1 / 1 / 0
Регистрация: 14.11.2019
Сообщений: 22
08.12.2019, 20:16  [ТС] 6
Цитата Сообщение от Enifan Посмотреть сообщение
честно говоря не пойму, что вы хотели сделать, сперва в 1-ый массив записали весь алфавит, затем перебираете 2-ой массив и для каких то целей используете увеличение s++. По сути вы не заполнили массив согласными, а вывели готовый, тот что сами задали.

в коде выделение не действует, к сожалению
так и не смог разобраться как использовать random.
позже вернусь к этой задаче, дальше пойду, если не встряну на аналогичном)
0
1842 / 1184 / 501
Регистрация: 14.10.2018
Сообщений: 3,180
09.12.2019, 16:52 7
Цитата Сообщение от Roman_Marinov Посмотреть сообщение
как использовать random
Можете почитать документацию
у данного класса часто используемым методом является Next(), который имеет перегрузки
В целом это делается так
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
using System;
 
class Program
{
    static void Main()
    {
        char[] sogl = { 'B', 'C', 'D','F', 'G', 'H', 'J', 'K', 'L', 'M',
                        'N', 'P', 'Q','R', 'S', 'T', 'V', 'W', 'X', 'Z' };
 
        Random random = new Random(); // создается объект
 
        Console.WriteLine(random.Next()); // выводит на экран случайное не отрицательное число
        Console.WriteLine(random.Next());
        Console.WriteLine(random.Next());
        Console.WriteLine(random.Next());
 
        Console.WriteLine(random.Next(10)); // случайное число от 0 до 9
        Console.WriteLine(random.Next(15)); // случайное число от 0 до 14
 
        Console.WriteLine(random.Next(5, 15)); // случайное число от 5 до 14
        Console.WriteLine(random.Next(22, 100)); // случайное число от 22 до 99
 
 
        // В переменную ch записывается значение из массива sogl[]
        // чтобы получится индекс массива - используется рандом
        // но нам нужны определенные номера, чтобы не выходить за границы массива
        // random.Next(sogl.Length) - случайное число от 0 до "длины массива - 1" - то что нужно
        char ch = sogl[random.Next(sogl.Length)];
        Console.WriteLine(ch);
 
 
 
        // Примерно так будет выглядеть ответ на ваш вопрос
        char[] symbs = new char[26];
        // заполнение массива
        for (int i = 0; i < symbs.Length; i++)
            symbs[i] = sogl[random.Next(sogl.Length)];
 
        // вывод на экран
        for (int i = 0; i < symbs.Length; i++)
            Console.WriteLine(symbs[i]);
 
        Console.ReadKey();
    }
}
0
09.12.2019, 16:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.12.2019, 16:52
Помогаю со студенческими работами здесь

Вывести слова с удвоенными согласными буквами Java
Всем привет! Написал программу, но она не работает, уже целый день парюсь. Помогите пожалуйста...

Третий массив заполнить буквами входящими и в первый и во второй массив
Добрый Вечер Всем. Дано два массива. Они заполнены случайными буквами латинского алфавита. Ок это я...

Заполнить третий массив теми буквами, которые входят и в первый и во второй массив
Заполнить двумерный массив размером 20 и 30 элементов случайным образом буквами латинского...

Найти все слова, начинающиеся и кончающиеся согласными буквами
Дана непустая последовательность слов (не более 30), в каждом слове не более восьми строчных...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru