![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Lion_Smith |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 14.3.2008 Репутация: нет Всего: нет |
Даётся массив строк string s[]. Необходимо разбить каждую строку этого массива на 3 отдельные строки. В первой буквы, во второй цифры, в третьей знаки препинания. Т.е
есть string s[] 1 | Строка 1 2 | Строка 2 3 | Строка 3 4 | Строка 4 Нужно сделать из неё двумерный масив string ss[][] 1 | Буквы | Цифры | ЗнакиПрепинания | 2 | Буквы | Цифры | ЗнакиПрепинания | 3 | Буквы | Цифры | ЗнакиПрепинания | 4 | Буквы | Цифры | ЗнакиПрепинания | и всё это должно выполняться в методе MakeStrings. Код конольного приложения вот тут: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication2 { class Program { public void Main(string[] args) { //обявляем переменные //Как правильно записать нижестоящие 3 строчки, что бы не вылезало сообщение об ошибке: //1) Use of unassigned local variable 'program' //2) Use of unassigned local variable 's' //3) Use of unassigned local variable 'ss' //Я понимаю, что я объявил переменые, но не инициализировал их! Как их правильно инициализировать при объявлениии. Пусть s и ss будут например пустыми масивами. и как инициализировать program??? string[] s; string[][] ss; //создаём экземпляр класса Program Program program; //вызываем метод MakeStrings и передаём в него переменные по ссылке используя ref program.MakeStrings(ref s, ref ss); } // а здесь описан сам метод MakeStrings public void MakeStrings(ref string[] s, ref string [][]ss) { int n = 0; foreach (string sn in s) { foreach (int sl in sn) { //обрабатываем строку sn // если не буква или не цифра, то if (!char.IsLetterOrDigit(sn[sl])) { ss[n][2] = ss[n][2] + sn[sl]; } else { // если цифры, то if (char.IsDigit(sn[sl])) { ss[n][1] = ss[n][1] + sn[sl]; } else { // тогда точно буква ss[n][0] = ss[n][0] + sn[sl]; } } } n = +1; } } } } |
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 8 Всего: 28 |
Задай размеры массивам
-------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| Lion_Smith |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 14.3.2008 Репутация: нет Всего: нет |
Поправил код! теперь он выглядит во так:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.OleDb; namespace ConsoleApplication2 { class Program { public void Main(string[] args) { string[] s = new string[10]; string[,] ss = new string[10, 3]; // но по прежнему выскакивает ошибка Use of unassigned local variable 'program' Program program; program.MakeStrings(ref s, ref ss); } public void MakeStrings(ref string[] s, ref string [,]ss) { int n = 0; foreach (string sn in s) { foreach (int sl in sn) { //обрабатываем строку sn // если не буква или не цифра, то if (!char.IsLetterOrDigit(sn[sl])) { ss[n,2] = ss[n,2] + sn[sl]; } else { // если цифры, то if (char.IsDigit(sn[sl])) { ss[n,1] = ss[n,1] + sn[sl]; } else { // тогда точно буква ss[n,0] = ss[n,0] + sn[sl]; } } } n = +1; } } } } |
|||
|
||||
| CYBERDREAM |
|
||||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 8 Всего: 28 |
вместо
напиши
Добавлено через 50 секунд Тебе нет никакого резона создавать новый объект класса Program -------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
||||
|
|||||
| QryStaL |
|
|||
![]() Intellectual feast ![]() ![]() Профиль Группа: Участник Сообщений: 914 Регистрация: 30.11.2005 Репутация: 10 Всего: 32 |
-------------------- I don't need a reason being who I am... |
|||
|
||||
| vponomarov |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 407 Регистрация: 11.8.2007 Где: Киев Репутация: 2 Всего: 12 |
Lion_Smith, неплохо бы для себя уяснить разницу между объявлением и созданием переменной.
если вы напишите Program program - это говорит всего-лишь о том, что program является объектом типа Program, а работать с ним можно только после создания, т.е. Program program=new Program() (ну или какой-нить другой конструктор). поэтому компилятор и выдает Вам ошибки. |
|||
|
||||
| Lion_Smith |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 14.3.2008 Репутация: нет Всего: нет |
Спасибо за пояснения.. почитаю соответсвующие главы в Книге
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | .NET для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |