19 / 18 / 4
Регистрация: 22.03.2018
Сообщений: 701
1
.NET 4.x

Как сделать так чтобы можно было вводить разное количество букв, а не только пять?

15.02.2019, 20:18. Показов 1944. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
string text = " АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
Console.Write("Введите первую букву = ");
char c = char.Parse(Console.ReadLine());
Console.Write("Введите вторую букву = ");
char t = char.Parse(Console.ReadLine());
Console.Write("Введите третью букву = ");
char m = char.Parse(Console.ReadLine());
Console.Write("Введите четвёртую букву = ");
char v = char.Parse(Console.ReadLine());
Console.Write("Введите пятую букву = ");
char l = char.Parse(Console.ReadLine());
Console.WriteLine("###########################################");
Console.WriteLine("Индекс первого символа M1 = {0}", text.IndexOf(c));
Console.WriteLine("Индекс второго символа M2 = {0}", text.IndexOf(t));
Console.WriteLine("Индекс третиго символа M3 = {0}", text.IndexOf(m));
Console.WriteLine("Индекс четвёртого символа M4 = {0}", text.IndexOf(v));
Console.WriteLine("Индекс пятого символа M5 = {0}", text.IndexOf(l));
Console.WriteLine("###########################################");
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.02.2019, 20:18
Ответы с готовыми решениями:

Как сделать так чтобы в QLineEdit можно было вводить только буквы
Как сделать так чтобы в QLineEdit можно было вводить только буквы а все остальные символы(цыфры и...

Как сделать так чтобы в текстовом окне можно было вводить только цыфры и запятую?
Как сделать так чтобы в текстовом окне(textBox) можно было вводить только цыфры и запятую?...

Как сделать чтобы в textbox можно было вводить только буквы?
Подскажите, как сделать чтобы в textbox можно вводить только буквы?

Как сделать чтобы в Edit1 можно было вводить только цифры
Как сделать чтобы в Edit1 можно было вводить только цифры Зарание благодарю

22
64 / 45 / 20
Регистрация: 04.12.2018
Сообщений: 334
15.02.2019, 23:04 21
Студворк — интернет-сервис помощи студентам
по смыслу это так:
Кот- это животное
Ток- это электричество ?
0
19 / 18 / 4
Регистрация: 22.03.2018
Сообщений: 701
16.02.2019, 00:22  [ТС] 22
да верно ну не совсем так как ты думаешь

Добавлено через 37 минут
Как тут сделать так что бы можно было водить всё в одну строку ?
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;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApp8
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = 0;
            int b = 0;
            string text = " ABCDEFGHIJKLMNOPQRSTUVWXYZАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
            Console.Write("Введите количество букв = ");
            int count = int.Parse(Console.ReadLine());
 
            for (int i = 0; i < count + 1; i++)
            {
                Console.Write($"Введите {i + 1} букву первого придложения: ");
                char ch = char.Parse(Console.ReadLine());
                a += ch;
                Console.WriteLine($"Индекс {i + 1} буквы: "+ text.IndexOf(ch));
            }
 
            for (int i = 0; i < count + 1; i++)
            {
                Console.Write($"Введите {i + 1} букву второго придложения: ");
                char ch = char.Parse(Console.ReadLine());
                b += ch;
                Console.WriteLine($"Индекс {i + 1} буквы: " + text.IndexOf(ch));
            }
            if (a == b)
            {
                Console.WriteLine("Все индексы букв одинаковы ");
            }
            else if (a != b)
            {
                Console.WriteLine("Все индексы букв разные ");
            }
            Console.ReadLine();
        }
    }
}
0
70 / 44 / 28
Регистрация: 14.02.2017
Сообщений: 126
16.02.2019, 17:07 23
Лучший ответ Сообщение было отмечено Nikita110001 как решение

Решение

Добрый день!

Вот вариант с переопределением метода Equals в классе MyWord. В методе Equals слова сравниваются по длине, и, если длина совпадает, происходит перебор каждого из сравниваемых слов по символам char, в частности по кодам Unicod. При совпадении всех кодов Equals выдает true, иначе false. По сути можно сравнивать слова, состоящие из любых символов и нет необходимости их (эти символы) приводить в коде.
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
    public class MyWord 
    {
        public string Word { get; set; }
        public MyWord(string word)
        {
            Word = word;
        }
        
        public override bool Equals(object obj)
        {            
            if (obj == null)
            {
                return false;
            }
            MyWord mw = obj as MyWord;
            if (mw == null)
            {
                return false;
            }            
            if (mw.ToString().Length == this.ToString().Length)
            {
                for (int i = 0, j = i; i < this.ToString().Length; i++)
                {                    
                    if (this.Word.ToCharArray()[i] == mw.Word.ToCharArray()[j])
                    {
                        return true;
                    }
                    else
                    {
                        return false;
                    }
                }
            }
            return false;
        }
 
        public override int GetHashCode()
        {
            return base.ToString().Length + 1;
        }
    }
Метод Main: вводим количество слов для сравнения, затем слова по очереди - далее происходит сравнение первого введенного слова со всеми остальными.
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
            List<MyWord> myWords = new List<MyWord>();
            Console.Write("Введите количество слово для анализа: ");
            int count = Convert.ToInt32(Console.ReadLine());
            for (int i = 0; i < count; i++)
            {
                Console.Write($"Введите {i + 1} слово: ");
                myWords.Add(new MyWord(Console.ReadLine()));
                if (myWords.Count() < 2)
                {
                    Console.WriteLine("Введено только одно слово, нужно хотя бы еще одно.");
                }
            }         
            //сравниваем первое введенное слово со всеми остальными по очереди   
            for (int i = 0; i < myWords.Count() - 1; i++)
            {
                for (int j = i + 1; j < myWords.Count(); j++)
                {
                    if (myWords[i].Equals(myWords[j]))
                    {
                        Console.WriteLine($"Словo № {i + 1} \"{myWords[i].Word}\" совпадаeт со словом № {j + 1} \"{myWords[j].Word}\".");                        
                    }
                    else
                    {
                        Console.WriteLine($"Слово № {i + 1} \"{myWords[i].Word}\" не совпадает со словом {j + 1} \"{myWords[j].Word}\".");                        
                    }
                }
                break;
            } 
            Console.ReadLine();
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.02.2019, 17:07
Помогаю со студенческими работами здесь

Как сделать, чтобы можно было вводить только n=< 1000 чисел
#include &lt;iostream&gt; using namespace std; int main() { int k = 0;int n;int i=0; ...

Как сделать так, чтобы можно было вводить Имя Фамилию с пробелом
Как сделать так, чтобы можно было вводить Имя Фамилию с пробелом и почту? struct mas { char...

Как сделать чтобы в ячейку StrigGrid можно было вводить только 4 знака?
И такой вопрос, не относящийся к теме вот у меня StrigGrid, как сделать чтобы в ячейку можно было...

Как сделать, чтобы в edit можно было вводить только латинские буквы?
Как сделать чтоб в edit можно было вводить только English буквы.


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru