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

строки

10.11.2014, 22:01. Показов 1282. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
помогите пожалуйста.
ввод :
abcab
слово:
abc
вывод:
00100
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.11.2014, 22:01
Ответы с готовыми решениями:

Сформировать и вывести две новых строки на основе входной строки символов
Сформировать и вывести две новых строки на основе входной строки символов. В первую строку ...

Как удалить символ из строки при посимвольной обработке строки в цикле?
Допустим, дана строка "ab+0.1973-1.1" Она обрабатывается посимвольно через foreach. Нужно...

Получить из строки все, кроме последней строки и переноса на последнюю строку
Помогите составить регулярное выражение. Использую библиотеку System.Text.RegularExpressions.Regex....

Даны строки. Найти количество вхождений из одной строки в другую
Даны строки.Найти количество вхождений из одной строки в другую

19
2151 / 1288 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
10.11.2014, 22:21 2
какая связь ?
0
6 / 6 / 2
Регистрация: 08.04.2014
Сообщений: 248
10.11.2014, 22:39  [ТС] 3
нужно не для конкретных символов и слов,а для рандомных.в этом проблема,
ввод символов :
abcab
ввод слова:
abc
вывод должен быть такой:
00100

Добавлено через 3 минуты
сравниваем символы со словом
вводим строку:abcab
потом вводим слово:abc
дальше сравниваем:
a b c - вот так должно выдавать
0 0 1

и a b
0 0
0
Life Builder
532 / 496 / 374
Регистрация: 12.01.2011
Сообщений: 1,754
11.11.2014, 00:06 4
Gmails, не совсем понятная задача. Вот так?
C#
1
2
using System.Collections.Generic;
using System.Linq;
C#
1
2
3
4
5
6
7
8
9
10
11
12
            string vvod = "abcab";
            string slovo = "abc";
 
            Dictionary<char, char> dic = new Dictionary<char, char>()
            {
                {slovo[0], '0'},
                {slovo[1], '0'},
                {slovo[2], '1'}
            };
 
            string res = string.Join("", vvod.Select(x=>dic[x]));
            Console.WriteLine(res);
без linq и словаря
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
            string vvod = "abcab";
            string slovo = "abc";
 
            string res = "";
            foreach (var ch in vvod)
                if (ch == slovo[2]) res += '1';
                else res += '0';
 
 
            Console.WriteLine(res);
0
10 / 8 / 1
Регистрация: 31.05.2013
Сообщений: 65
11.11.2014, 00:08 5
Подпишусь, уж больно интересно, чего хочет тс
0
6 / 6 / 2
Регистрация: 08.04.2014
Сообщений: 248
11.11.2014, 18:26  [ТС] 6
нужно не для конкретных символов и слов,а для рандомных.в этом проблема,

Добавлено через 2 минуты
я могу написать любой набор символ и любое слово
ввод:tarrttt
слово:rr
вывод должен быть таким:
0 0 0 1 0 0 0
0
10 / 8 / 1
Регистрация: 31.05.2013
Сообщений: 65
11.11.2014, 18:34 7
ммм, проблема в том, что ты абсолютно не понятно пишешь своё "задание", в чем оно заключается? ЧТО должно происходить не для конкретных символов и слов а для рандомных? логика какая здесь?
0
6 / 6 / 2
Регистрация: 08.04.2014
Сообщений: 248
11.11.2014, 18:40  [ТС] 8
акуально

Добавлено через 4 минуты
что непонятного?
0
870 / 720 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
11.11.2014, 18:42 9
Gmails,
Какой алгоритм работы, как определяются 0 и 1
0
6 / 6 / 2
Регистрация: 08.04.2014
Сообщений: 248
11.11.2014, 18:47  [ТС] 10
ввожу 1-ую строку символов:abcab
ввожу 2-ю строку слово:abc
сравниваем строки
как видим,слово есть в 1-ой строке,значит будет 0 0 1,смотрим дальше ab не подходит,значит 0 0.
вывод:0 0 1 0 0

Добавлено через 56 секунд
нет,алгоритма,его придумать надо самому
0
10 / 8 / 1
Регистрация: 31.05.2013
Сообщений: 65
11.11.2014, 18:50 11
а почему 001? почему не 1? почему не 100? что за фигня? если бы было aabcab и abc, то было бы 000100? короче, поподробнее, пожалуйста
0
Life Builder
532 / 496 / 374
Регистрация: 12.01.2011
Сообщений: 1,754
11.11.2014, 19:04 12
Вот так такая программка подойдет?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
            string vvod = "abcab";
            string slovo = "ab";
            string res = "";
 
            int index = 0, count = 1;
 
            for (int i = 0; i < vvod.Length; i++)
            {
                if (vvod.Substring(index, count).Contains(slovo))
                {
                    res += '1';
                    index = i;
                    count = 1;
                }
                else res += '0';
                if(count+1<vvod.Length) count++;
 
            }
 
            Console.WriteLine(res);
1
6 / 6 / 2
Регистрация: 08.04.2014
Сообщений: 248
11.11.2014, 19:08  [ТС] 13
нет,я писал строки руками вводим с клавиатуры

Добавлено через 2 минуты
потому что препод так сказал.у меня есть прога,которая abc-1.
но нужно проверять каждый символ то есть в данном случае будет 0 0 1-a b c
0
Life Builder
532 / 496 / 374
Регистрация: 12.01.2011
Сообщений: 1,754
11.11.2014, 19:08 14
Лучший ответ Сообщение было отмечено Gmails как решение

Решение

Цитата Сообщение от Gmails Посмотреть сообщение
нет,я писал строки руками вводим с клавиатуры
я думал этого, уж сами сделаете.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
            Console.Write("Введите строку: "); string vvod = Console.ReadLine();
            Console.Write("Введите слово: "); string slovo = Console.ReadLine();
            string res = "";
 
            int index = 0, count = 1;
 
            for (int i = 0; i < vvod.Length; i++)
            {
                if (vvod.Substring(index, count).Contains(slovo))
                {
                    res += '1';
                    index = i;
                    count = 1;
                }
                else res += '0';
                count++;
 
            }
 
            Console.WriteLine(res);
1
6 / 6 / 2
Регистрация: 08.04.2014
Сообщений: 248
11.11.2014, 19:20  [ТС] 15
как прога работает?
и непонятно:vvod.Substring(index, count).Contains(slovo)
зачем нам count?
0
Life Builder
532 / 496 / 374
Регистрация: 12.01.2011
Сообщений: 1,754
11.11.2014, 19:20 16
Gmails, а последний поправленный мной вариант устраивает, нет?
1
6 / 6 / 2
Регистрация: 08.04.2014
Сообщений: 248
11.11.2014, 19:22  [ТС] 17
да,классно сделано.
еще бы понять принцип работы

Добавлено через 19 секунд
пожалуйста объясните
0
Life Builder
532 / 496 / 374
Регистрация: 12.01.2011
Сообщений: 1,754
11.11.2014, 19:22 18
чтобы отрезать строку и смотреть есть ли там слово
0
6 / 6 / 2
Регистрация: 08.04.2014
Сообщений: 248
11.11.2014, 19:23  [ТС] 19
всмысле отрезать?
0
Life Builder
532 / 496 / 374
Регистрация: 12.01.2011
Сообщений: 1,754
11.11.2014, 19:43 20
Лучший ответ Сообщение было отмечено Gmails как решение

Решение

Я так понял вашу задачу.
Цитата Сообщение от Gmails Посмотреть сообщение
ввод:tarrttt
слово:rr
вывод должен быть таким:
0 0 0 1 0 0 0
1) Смотрим первый символ строки t, здесь нет слово rr. Добавляем в строку 0;
2) Теперь смотрим два первых символа ta, там тоже не входит слово rr. Добавляем в строку 0;
3) tar Опять нет вхождении. Добавляем 0;
4) Сморим первые четыре символа tarr. Есть вхождение. Добавляем 1;
Далее уже начинаем смотреть символы, после последнего символа(т. е. после tarr)
5) t - добавляем 0;
6) tt - добавляем 0;
7) ttt - добавляем 0;

Добавлено через 11 минут
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
            for (int i = 0; i < vvod.Length; i++)
            {
                if (vvod.Substring(index, count).Contains(slovo))
//index нужен для того чтобы узнать сколько откуда начать отрезать
//а count длина вырезаемой строки
//т. е. мы сначала вырезаем строку и смотрим есть ли в этой отрезке вхождении(slovo).
                {//Если есть
                    res += '1';//добавляем 1
                    index = i;//чтобы начать рассмотреть символы, после вхождении
                    count = 1;//начинаем длину рассматриваемой строки заново с 1
                }
                else res += '0';//Если нет вхождении, добавляем 0
 
                count++;//Увеличиваем длину рассматриваемой строки на 1
                
 
            }
1
11.11.2014, 19:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.11.2014, 19:43
Помогаю со студенческими работами здесь

Опишите функцию ввода строки (с обработкой ошибки размера строки)
Всем привет. Опишите функцию ввода строки, обработайте ошибку размера строки, размер не может...

Из символов введенной строки сформировать две строки - из цифр и букв.
Здравствуйте, помогите пожалуйста решить задачу надо Из символов введенной строки сформировать две...

Даны строки S, S1 и S2. Заменить в строке S первое вхождение строки S1 на строку S2
Даны строки S, S1 и S2. Заменить в строке S первое вхождение строки S1 на строку S2. Ответ...

Даны три строки: S1, S2, S3. Заменить в строке S1 первое вхождения строки S2 на S3
Я сделал программу которая заменяет ВСЕ вхождения строки s2 в строке s1 на s3, но как сделать, что...

В конце заданной строки дописать символы,доведя длину строки до 25
Строки вводятся с клавиатуры. В конце заданной строки дописать символы,доведя длину строки до 25.

Даны строки S, S1 и S2. Заменить в строке S последнее вхождение строки S1 на строку S2.
Помогите пожалуйста отредактировать задачу на языке С #: Даны строки S, S1 и S2. Заменить в строке...


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

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