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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2010, 18:39   #1
ArniLand
Пользователь
 
Регистрация: 27.06.2009
Сообщений: 89
По умолчанию Работа со строками - индексирование и свойства

Написал примерный код в программе по данному заданию по "индекстаторам и свойствам" и непонятно как реализовать некоторые моменты в программе. Просьба помочь в выполнение программы задания. Код пока не компилировался, так что на ошибки не проверял. Если что не правильно написанное в коде просьба сказать об этом. В программ cs пока ничего не писал.

Задание:

Цитата:
Класс инкапсулирует одномерный массив из элементов символьного типа. Создать индексатор, который предотвращает нарушение границы массива и возвращает символ лишь в верхнем регистре. Создать свойство, доступное для чтения закрытого элемента - данного, что содержит количество гласных букв в массиве. Результат выполнение вывести на экран. В program.cs реализовать сам вывод на экран.
1. Правильно я организовал индексатор который предотвращает нарушение границ в строке и возвращает символ лишь в врехнем регистре?
2. Нужно создать свойство, доступное для чтения закрытого элемента - данного, что содержит количество гласных букв в массиве. Правильно хотя бы идея начала, по возможности просьба исправить и написать в коде как правильно должно быть.
3. Как есть общие замечания по программе и что может не пройти компиляцию?

Код примерной программы:
Код:
//Row.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace laba_index
{
    class Row
    {   
        public int Length;
        public int errflag;
        char[] charray = {'A', 'c', 'R', 'e', 't'};
        string str = new string(charray);

        public Row(string str)
        {
            this.str = str;
        }

        public char this[int i]
        {
            get
            {
                if (ok(i))
                {
                    errflag = false;
                    return Char.ToUpper(str[i]);
                }
                else
                {
                    errflag = true;
                    return 0;
                }
            }
            set
            {
                if (ok(i))
                {
                    str[i] = value;
                    errflag = false;
                }
                else
                {
                    errflag = true;
                }
            }
        }

        public char Vowel
        {   
            get
            {
                
                if (str[i] = 'A')
                {
                    return str[i];
                }
                else
                {
                    return 0;
                }
                if (str[i] = 'e')
                {
                    return str[i];
                }
                else
                {
                    return 0;
                }



            }
        }
    }
}
ArniLand вне форума Ответить с цитированием
Старый 11.04.2010, 22:14   #2
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

вот набросал примерно

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class CharArray
    {
        private char[] arr;
        private int size;
        private int cnt;

        public CharArray(int _s)
        {
            size = _s;
            arr = new char[size];
            string gl = "aeiou";
           
            Random r=new Random((int)System.DateTime.Now.Ticks);
            for (int i = 0; i < size; i++)
            {
                arr[i] = (char)r.Next(33, 127);
                if(gl.IndexOf(arr[i])>0)
                    cnt++;
            }
        }

        public int GLASNIE
        {
            get
            {
                return cnt;
            }
        }

        public char this[int i]
        {
            get
            {
                if (i < 0 || i >= size)
                {
                    Console.WriteLine("Index out of a bound!");
                    return '\0';
                }    
                return char.ToUpper(arr[i]);
            }

            set
            {
                if (i < 0 || i >= size)
                    Console.WriteLine("Index out of a bound!");
                arr[i]=value;
            }
        }

        public void ShowArray()
        {
            Console.WriteLine("Char Array :");
            for (int i = 0; i < size; i++)
                Console.Write(arr[i] + " ");
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("N = ");
            int i;
            i = int.Parse(Console.ReadLine());
            CharArray A = new CharArray(i);
            A.ShowArray();
            Console.WriteLine();
            Console.WriteLine("Glasnih = " + A.GLASNIE);
            Console.WriteLine("Index = ");
            i = int.Parse(Console.ReadLine());
            Console.WriteLine("arr["+i+"] = "+A[i-1]);
            A[i - 1] = '~';
            A.ShowArray();
            Console.Read();
        }
    }
}
counter вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа со строками с++ LovingDaisy Общие вопросы C/C++ 0 11.01.2010 01:06
работа со строками Андрей.12 Помощь студентам 7 29.11.2009 19:24
работа со строками в с++ Ferghost Помощь студентам 0 05.06.2009 01:40
Работа со строками semennn Помощь студентам 6 05.05.2009 19:10
[С++]работа со строками Федор Помощь студентам 6 23.12.2007 12:35