Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.09.2011, 21:13   #1
Uniskull
Пользователь
 
Регистрация: 19.08.2010
Сообщений: 54
Вопрос Функция...

Здравствуйте!

Это 3 моя программа в C#(я новичок)

Как в C# сделать функцию для вывода гласных буквах содержавших в строке.

На дельфи смогу сделать но здесь другой язык(например s[i] в C# не работает)

Подскажите как начать?
Компьютерный форум - World-PC.NET
Uniskull вне форума Ответить с цитированием
Старый 27.09.2011, 21:25   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
(например s[i] в C# не работает)
Глупости. еще как работает.
Впрочем есть и другая конструкция. Вот к примеру вывод всех четных цифр из символов строки:
Код:
            string s = "123456";
            foreach (char c in s) { if (Convert.ToInt32(c) % 2==0) Console.Write(c); };
Намек ясен?

P.S. Вот от меня предложение решения твоей задачи:
Код:
            string s = "abcdefg";
            var k = s.Where(p=>p=='a'||p=='e'||p=='o');
            foreach (char c in k) {  Console.Write(c); };
I'm learning to live...

Последний раз редактировалось Stilet; 27.09.2011 в 21:29.
Stilet вне форума Ответить с цитированием
Старый 27.09.2011, 23:02   #3
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Мне кажется, что лучше так:
Код:
using System;
using System.Linq;

namespace Гласные
{
    class Program
    {
        static void Main(string[] args)
        {
            var s = "АЕУОЯЭИЮ";
            s += s.ToLower();
            Console.WriteLine("Введите строку");
            var customstring = Console.ReadLine();
            if (customstring != null)
                customstring.ToCharArray().Where(arg => s.Contains(arg)).ToList().ForEach(Console.WriteLine);
            Console.ReadKey();
        }
    }
}
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 28.09.2011, 15:12   #4
Uniskull
Пользователь
 
Регистрация: 19.08.2010
Сообщений: 54
Вопрос

Цитата:
Сообщение от Скарам Посмотреть сообщение
Код:
--------------------------------------------------
                customstring.ToCharArray().Where(arg => s.Contains(arg)).ToList().ForEach(Console.WriteLine);
----------------------------------
Я вот не понял что происходит здесь. Можете объяснить?
Компьютерный форум - World-PC.NET
Uniskull вне форума Ответить с цитированием
Старый 28.09.2011, 18:45   #5
Uniskull
Пользователь
 
Регистрация: 19.08.2010
Сообщений: 54
По умолчанию

А как считать сколько гласных букв у меня?
Компьютерный форум - World-PC.NET
Uniskull вне форума Ответить с цитированием
Старый 28.09.2011, 19:27   #6
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Цитата:
Я вот не понял что происходит здесь. Можете объяснить?
customstring.ToCharArray()-преобразование строки в массив символов.
ToCharArray().Where(arg => s.Contains(arg))-отбираем только те символы из массива символов, которые содержатся в строке s (т.е. гласные)
Where(arg => s.Contains(arg)).ToList()-преобразуем в список( чтобы можно было запустить цикл foreach)
.ForEach(Console.WriteLine);-выводим полученный список( т.е. гласные буквы) поэлементно.
Цитата:
А как считать сколько гласных букв у меня?
Можно так, но что-то мне в этом не нравиться..
Код:
if (customstring != null)
                customstring.ToCharArray().Where(arg => s.Contains(arg)).ToList().ForEach(
                    lit =>
                        {
                            Console.WriteLine(lit);
                            count++;
                        }
                    );
            Console.WriteLine("Count= {0}",count);
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 28.09.2011, 21:20   #7
Uniskull
Пользователь
 
Регистрация: 19.08.2010
Сообщений: 54
По умолчанию

А lit что это такое?
Компьютерный форум - World-PC.NET
Uniskull вне форума Ответить с цитированием
Старый 28.09.2011, 21:38   #8
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Если перебирается список символов, что является элементом этого списка?
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 29.09.2011, 00:16   #9
Uniskull
Пользователь
 
Регистрация: 19.08.2010
Сообщений: 54
По умолчанию

А можно сделать так чтобы программа определила место гласной букве в строке(позиция)?
Компьютерный форум - World-PC.NET
Uniskull вне форума Ответить с цитированием
Старый 29.09.2011, 08:54   #10
Руслантус
Наркоман самоучка
Форумчанин
 
Аватар для Руслантус
 
Регистрация: 22.07.2007
Сообщений: 276
По умолчанию

Для начала, хорошо бы написать метод, который будет определять гласную букву:
Код:
        static bool IsVowelLetter(char c)
        {
            switch (char.ToLower(c))
            {
                case 'а':
                case 'у':
                case 'о':
                case 'ы':
                case 'и':
                case 'э':
                case 'я':
                case 'ю':
                case 'ё':
                case 'е':
                    return true;
            }

            return false;
        }
Далее, его можно использовать так:
Код:
            string str = "Привет Мир!";

            for (int i = 0; i < str.Length; ++i)
            {
                char c = str[i];

                if (IsVowelLetter(c))
                {
                    Console.WriteLine("Найдена гласная буква - {0}, позиция - {1}", c, (i + 1)); 
                }
            }
#include <мозг.h>

Последний раз редактировалось Руслантус; 29.09.2011 в 08:58.
Руслантус вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция Наташок Паскаль, Turbo Pascal, PascalABC.NET 1 05.04.2011 11:55
функция Артл Microsoft Office Excel 9 04.04.2011 20:35
функция golf Помощь студентам 4 14.11.2009 16:27
Функция в VB asd48 Помощь студентам 1 25.12.2008 23:29
одна функция потока, а другая функция - член класса запускающего этот поток Дмитрий_Ч Общие вопросы C/C++ 2 27.09.2007 08:50