Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

О нелегкой доле новичка!))

4828   10 11 12 13 14 15 16 17 18 19 20 все
Murr патриот06.02.13 22:20
Murr
NEW 06.02.13 22:20 
в ответ Программист 06.02.13 22:00
А ASMовской вставкой?
AlexNek патриот06.02.13 22:57
AlexNek
NEW 06.02.13 22:57 
в ответ Murr 06.02.13 22:20
Подари Managed ASM
Программист местный житель06.02.13 23:35
06.02.13 23:35 
в ответ Murr 06.02.13 22:20, Последний раз изменено 06.02.13 23:46 (Программист)
с асмом - это уже перебор :)
но можно так:
string str = @"moja stroka dlja razvorota";
for (int j=0;j<str.Length/2;j++)
{
str[j] ^= str[str.Length-j];
str[str.Length-j] ^= str[j];
str[j] ^= str[str.Length-j];
}
и тоже ничего не надо инициализировать :D
надеюсь нигде не накосячил
Murr патриот07.02.13 00:00
Murr
NEW 07.02.13 00:00 
в ответ Программист 06.02.13 23:35
надеюсь нигде не накосячил
------
Ну либо стринг, либо unsafe char *...
AlexOtt местный житель07.02.13 09:34
AlexOtt
NEW 07.02.13 09:34 
в ответ Ashka_hash46 05.02.13 17:36
Для подготовки к собеседованиям есть достаточное кол-во хороших книг. Могу порекомендовать "Programming Interviews Exposed: Secrets to Landing Your Next Job" и "The Google Resume: How to Prepare for a Career and Land a Job at Apple, Microsoft, Google, or Any Top Tech Company" (это в добавок к чтению кормена и т.п. вещей)
Ashka_hash46 коренной житель07.02.13 09:45
Ashka_hash46
NEW 07.02.13 09:45 
в ответ AlexOtt 07.02.13 09:34
спасибо
Общественное мнение формируют не самые умные, а самые болтливые
Mamo4ka2006 завсегдатай01.03.13 11:59
NEW 01.03.13 11:59 
в ответ Ashka_hash46 07.02.13 09:45, Последний раз изменено 01.03.13 15:21 (Mamo4ka2006)
мой вариант:
string s = "mail";
string r = "";

for (int i = s.Length - 1; i >= 0; i--)
{
r += s [ i ] ;
}
Ashka_hash46 коренной житель01.03.13 12:25
Ashka_hash46
NEW 01.03.13 12:25 
в ответ Mamo4ka2006 01.03.13 11:59
не очень поняла, как Вы работаете в цикле? Что к чему прибавляем? ;)
Общественное мнение формируют не самые умные, а самые болтливые
Tomasson ёшик01.03.13 12:32
Tomasson
NEW 01.03.13 12:32 
в ответ Ashka_hash46 01.03.13 12:25
там вместо s должно быть s[индекс] :-)
Murr давал почти готовое решение с Reverse()

Murr патриот01.03.13 12:41
Murr
NEW 01.03.13 12:41 
в ответ Tomasson 01.03.13 12:32
Надо же - они таки добавили индексер к строке...
И трех пятилеток не прошло...
Ashka_hash46 коренной житель01.03.13 12:43
Ashka_hash46
NEW 01.03.13 12:43 
в ответ Murr 01.03.13 12:41
ну вот мне функция не знакома (чтобы знак из строки можно было бы дергать по индексу), поэтому я разбивала сперва на символы и складывала в массив)))
Общественное мнение формируют не самые умные, а самые болтливые
Mamo4ka2006 завсегдатай01.03.13 15:23
NEW 01.03.13 15:23 
в ответ Murr 01.03.13 12:41
Я только сегодня в эту тему зашла
Mamo4ka2006 завсегдатай01.03.13 15:25
NEW 01.03.13 15:25 
в ответ Ashka_hash46 01.03.13 12:43
Странно, конечно же индекс был, в цикле, сейчас добавила пробелов, теперь i видно!
Murr патриот01.03.13 15:29
Murr
NEW 01.03.13 15:29 
в ответ Mamo4ka2006 01.03.13 15:23
Я, вообще-то, про мелкомягких...
AlexNek патриот01.03.13 19:42
AlexNek
NEW 01.03.13 19:42 
в ответ Murr 01.03.13 15:29
В ответ на:
Я, вообще-то, про мелкомягких...

А когда в строках не было индекса и что я еще пропустил?
http://msdn.microsoft.com/en-us/library/system.string.chars%28v=vs.71%29.aspx
В ответ на:
String.Chars Property
.NET Framework 1.1
Gets the character at a specified character position in this instance.
[C#] In C#, this property is the indexer for the String class.
[C#]
public char this[
int index
] {get;}

Murr патриот01.03.13 22:28
Murr
NEW 01.03.13 22:28 
в ответ AlexNek 01.03.13 19:42
А когда в строках не было индекса и что я еще пропустил?
------
Как-то давно пробовал - строка (string) не индексировалась - приходилось пользоваться substring() или конвертацией в массив...
AlexNek патриот01.03.13 23:00
AlexNek
NEW 01.03.13 23:00 
в ответ Murr 01.03.13 22:28
В ответ на:
Как-то давно пробовал

До апреля 2003 или после?
Если после, то что то не то пробовал - наверное генерацию строки по шаблону
anly коренной житель03.03.13 21:20
anly
NEW 03.03.13 21:20 
в ответ Tomasson 01.03.13 12:32
"new" и "ToArray()" кажись не обязательно.
Проклят нарушающий межи ближнего своего (Втор.27:17)
Poiser местный житель03.03.13 22:05
Poiser
NEW 03.03.13 22:05 
в ответ Mamo4ka2006 01.03.13 11:59
В ответ на:
for (int i = s.Length - 1; i >= 0; i--)
{
r += s [ i ] ;
}

Не очень хорошее решение, особенно для длинных строк будет работать очень медленно. Потому что строки в .NET неизменяемы. В памяти каждый раз будет создаваться новый объект типа string и туда будут копироваться обе части. Лучше использовать StringBuilder.
В ответ на:

string input = @"test string...";
Console.WriteLine(input);
var output = new StringBuilder();
for (int i = input.Length - 1; i >= 0; i--)
output.Append(input);
Console.WriteLine(output.ToString());

Создание сайтов, онлайн-магазинов в Германии
Tomasson ёшик03.03.13 22:30
Tomasson
NEW 03.03.13 22:30 
в ответ anly 03.03.13 21:20
В ответ на:
"new" и "ToArray()" кажись не обязательно.

Reverse() возвращает IEnumerable<char>, поэтому s = s.Reverse(); выдаст ошибку.