Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с циклом 
V
    Опции темы
DedMazai
  Дата 6.7.2009, 01:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 6.7.2009
Где: Лобня

Репутация: нет
Всего: нет



Вечер добрый )
Не могли бы вы подсказать как сделать, чтобы цикл:
Код
     
TStrings *line = new TStringList();
     line->LoadFromFile("vopros.txt");
     for(int i=0;i<10;i++)
     {
          if(line->Text.Pos(IntToStr(i)))
          {
               Edit1->Text = "Есть";
               break;
          }
          else
               Edit1->Text = "Нету";
     }
     delete line;

читал только чётные строки, и как сделать, чтобы он подсчитал в них кол-во символов?
PM MAIL ICQ   Вверх
triclosan
Дата 6.7.2009, 01:40 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 515
Регистрация: 18.8.2006

Репутация: 2
Всего: 12



TStringList это точно не по стандарту си++, вы видимо разделом ошиблись

Код

     for(int i=0;i<10;i+=2)
     {
          ***
     }


PM MAIL   Вверх
DedMazai
Дата 6.7.2009, 01:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 6.7.2009
Где: Лобня

Репутация: нет
Всего: нет



Цитата(triclosan @  6.7.2009,  01:40 Найти цитируемый пост)
TStringList это точно не по стандарту си++, вы видимо разделом ошиблисьКодincludeSyntax('cpp');     for(int i=0;i<10;i+=2)     {          ***     }

Хм, а что тогда по стандарту с++? smile
На сколько я понял вы предложили просто поменять 1 на 2? 

PM MAIL ICQ   Вверх
triclosan
Дата 6.7.2009, 01:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 515
Регистрация: 18.8.2006

Репутация: 2
Всего: 12



Цитата(DedMazai @  6.7.2009,  01:49 Найти цитируемый пост)
Хм, а что тогда по стандарту с++?

это у вас борланд видимо. Покажите определение класса TStringList

Цитата(DedMazai @  6.7.2009,  01:19 Найти цитируемый пост)
читал только чётные строки

поясните
PM MAIL   Вверх
Данкинг
Дата 6.7.2009, 01:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



DedMazai, это по стандарту билдера. smile Кстати, есть уже похожая тема:
тык
 smile 

Цитата(DedMazai @  6.7.2009,  02:19 Найти цитируемый пост)
чтобы он подсчитал в них кол-во символов?

Text.Length() ?

Добавлено через 1 минуту и 37 секунд
Цитата(DedMazai @  6.7.2009,  02:19 Найти цитируемый пост)
читал только чётные строки

Код

for(int i=0;i<10;i++)
     {
       if (i%2==0) ShowMessage("Чётная!");
     {

 smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
DedMazai
Дата 6.7.2009, 02:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 6.7.2009
Где: Лобня

Репутация: нет
Всего: нет



Цитата(triclosan @  6.7.2009,  01:52 Найти цитируемый пост)
поясните

Данный цикл, сейчас проверяет в подключённом файле, наличие цифр. Мне надо тоже самое, только чтобы делал он это в чётных строках. и считал сколько в них символов.

Добавлено через 3 минуты и 50 секунд
Цитата(Данкинг @  6.7.2009,  01:53 Найти цитируемый пост)
DedMazai, это по стандарту билдера.  Кстати, есть уже похожая тема:тык  

хах, собственно тема не похожая, а таже smile  друг помогал разобраться с циклом smile не знал что и он тут  smile 
Правда он отправился спать, а я вот продолжаю работу над практикой ))
PM MAIL ICQ   Вверх
mrbrooks
Дата 6.7.2009, 08:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 19
Всего: 306



Цитата(DedMazai @  6.7.2009,  01:19 Найти цитируемый пост)
читал только чётные строки, и как сделать, чтобы он подсчитал в них кол-во символов? 


ты не читаешь строки - ты все залил в одну строку и ее парсишь (причем не по людски). Внимательно почитай справку по данному классу.
PM MAIL   Вверх
DedMazai
Дата 9.7.2009, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 6.7.2009
Где: Лобня

Репутация: нет
Всего: нет



спасибо, нашёл другой способ реализации задания smile)
PM MAIL ICQ   Вверх
hsilgos
Дата 9.7.2009, 20:52 (ссылка) |   (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 26.4.2009

Репутация: 1
Всего: 2



Код

 if (i%2==0) ShowMessage("Чётная!");

Так быстрее:
Код

 if ((i&1)==0) ShowMessage("Чётная!");

 smile 
PM MAIL   Вверх
zim22
Дата 9.7.2009, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(hsilgos @  9.7.2009,  20:52 Найти цитируемый пост)
Так быстрее

и не понятней для "непосвященных"


--------------------
PM MAIL   Вверх
GoldFinch
Дата 9.7.2009, 21:44 (ссылка)    | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 6
Всего: 26



zim22, если ты не понимаешь математику, это твои проблемы
PM MAIL ICQ   Вверх
zim22
Дата 9.7.2009, 22:04 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(GoldFinch @  9.7.2009,  21:44 Найти цитируемый пост)
 если ты не понимаешь математику, это твои проблемы

не соглашусь. код должен быть написан как можно понятней. кому как понятней - это уже другой вопрос. все нюансы оформления кода должны быть записаны в "стандартах кодирования". это один из этих случаев.
в противном случае программисты будут проверять чётность двадцатью-пятью способами и это затруднит понимание/сопровождение кода.
способ 1:
Код

int a = 5;
if ((a >> 1) << 1 == a)
  std::cout << "even";
else
  std::cout << "odd";

...
способ 25:
Код

int value = 11;
bool odd_flag = false;
for (unsigned i = value; i != 0; i--)
  odd_flag = !odd_flag;

if (odd_flag) std::cout << "odd";
else std::cout << "even";


Это сообщение отредактировал(а) zim22 - 9.7.2009, 22:29


--------------------
PM MAIL   Вверх
GoldFinch
Дата 9.7.2009, 23:26 (ссылка)    | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 6
Всего: 26



zim22, ты написал бред
есть два типа людей, те которые понимают системы счисления, и те которые их не понимают.

в данном случае надо было получить четность числа. 
известно что у числа в двоичном представлении  младший разряд определяет его четность
соответственно наложение маски выделяющей младший разряд числа позволяет получить число кодирующее четность исходного числа, 0 для нечетных и 1 для четных
также известно что оператор if в С\С++ сравнивает численное значение предиката в скобках с нулем, значит достаточно написать
( i&1 )

для программиста это естественный и логичный путь
программист не знающий систем счисления конечно тоже программист, но еще его называют быдлокодером
конечно тут можно извинить программистов-самоучек не имеющих технического образования, но нормальный программист должен это знать.

Добавлено через 53 секунды
и да, наложение маски само собой быстрее деления
PM MAIL ICQ   Вверх
mes
Дата 9.7.2009, 23:56 (ссылка) |    (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(GoldFinch @  9.7.2009,  22:26 Найти цитируемый пост)
и да, наложение маски само собой быстрее деления 

А Вы уверены, что в результативном (асм) коде будет деление, а не наложение маски ?

Цитата(GoldFinch @  9.7.2009,  22:26 Найти цитируемый пост)
есть два типа людей, те которые понимают системы счисления, и те которые их не понимают.

Да но с лету применять двоичные операции (сейчас уже) большому кругу ЯВУ-программистов  не требуется. smile Особенно учитывая то, что такие операции в книжках разбираются как трюки. smile

Цитата(GoldFinch @  9.7.2009,  22:26 Найти цитируемый пост)
( i&1 )
для программиста это естественный и логичный путь

ага, особенно питоновцам и тому подобным smile Применительно фактически только для ЯНУ-программистов.

Цитата(GoldFinch @  9.7.2009,  22:26 Найти цитируемый пост)
конечно тут можно извинить программистов-самоучек не имеющих технического образования, но нормальный программист должен это знать.

при условии, что это проходят (а не просто пробегают) по образовательной программе. 


Это сообщение отредактировал(а) mes - 9.7.2009, 23:59


--------------------
PM MAIL WWW   Вверх
Данкинг
Дата 10.7.2009, 00:04 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Цитата(hsilgos @ 9.7.2009,  21:52)
Код

 if (i%2==0) ShowMessage("Чётная!");

Так быстрее:
Код

 if ((i&1)==0) ShowMessage("Чётная!");

 smile

Ну так я то же самое ведь написал. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
GoldFinch
Дата 10.7.2009, 00:21 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 6
Всего: 26



Цитата(mes @  10.7.2009,  00:56 Найти цитируемый пост)
такие операции в книжках разбираются как трюки.

ну их, такие книжки
PM MAIL ICQ   Вверх
zim22
Дата 10.7.2009, 07:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(GoldFinch @  9.7.2009,  23:26 Найти цитируемый пост)
zim22, ты написал бред

слушаю и повинуюсь. ваши слова для меня - истина в последней инстанции.
Цитата(GoldFinch @  10.7.2009,  00:21 Найти цитируемый пост)
ну их, такие книжки

ну почему же, хорошие книжки.
например эта: "Алгоритмические трюки для программистов".
это ж так просто, возьмём к примеру функцию подсчета единичных битов из этой книги: (стр.78)
Код

int pop(unsigned x) {
  unsigned n;

  n = (x >> 1) & 0x77777777;
  x = x - n;
  n = (n >> 1) & 0x77777777;
  x - x - n;
  n = (n >> 1) & 0x77777777;
  x = x - n;
  x = (x + (x >> 4)) & 0xF0F0F0F;
  x = x * 0x01010101;
  return x >> 24;
}

тру хакеры должны писать только так, я вас понял.  smile 



--------------------
PM MAIL   Вверх
GoldFinch
Дата 10.7.2009, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 6
Всего: 26



zim22, ниче что получить младший разряд числа, и посчитать число ненулевых разрядов в числе - это разные задачи?
PM MAIL ICQ   Вверх
zim22
Дата 10.7.2009, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(GoldFinch @  10.7.2009,  14:24 Найти цитируемый пост)
ниче что получить младший разряд числа, и посчитать число ненулевых разрядов в числе - это разные задачи?

ниче. т.к. в обоих случаях существуют более наглядные варианты решений.


--------------------
PM MAIL   Вверх
mes
Дата 10.7.2009, 15:21 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(zim22 @  9.7.2009,  20:40 Найти цитируемый пост)

и не понятней для "непосвященных"


Цитата(zim22 @  10.7.2009,  14:17 Найти цитируемый пост)

ниче. т.к. в обоих случаях существуют более наглядные варианты решений. 


кстати вариант %2  тоже не очень наглядный, гораздо лучше, имхо, завести функцию типа bool isOdd() smile

P.S. (в частности  для GoldFinch) слово "наглядно" в моем употреблении значит, не чтоб было понятно другим программистам (для них можно и комментарий поставить если требуется), 
а то что код легко подается модификации и сопровождению. smile

P.S.S. естественно замечание насчет наглядности не относится к "100-строчным" программам. smile

Это сообщение отредактировал(а) mes - 10.7.2009, 15:27


--------------------
PM MAIL WWW   Вверх
DedMazai
Дата 10.7.2009, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 6.7.2009
Где: Лобня

Репутация: нет
Всего: нет



Блин, ### вы тут развели smile)
Вопрос.
Почему в
Код
TStringList * Stri = new TStringList();
Stri->LoadFromFile("otvet.txt");
AnsiString word =(Stri->Strings[0]);
int i=0;i=Stri->Text.Length();i++;

у меня всегда насчитывает на 3 символа больше, чем у меня есть в файле?

Это сообщение отредактировал(а) DedMazai - 10.7.2009, 23:07
PM MAIL ICQ   Вверх
hsilgos
Дата 10.7.2009, 23:24 (ссылка)   | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 26.4.2009

Репутация: 1
Всего: 2



Цитата

и не понятней для "непосвященных"

Цитата

при условии, что это проходят (а не просто пробегают) по образовательной программе.

"Непосвященных" в проект не берем.
Цитата

ага, особенно питоновцам и тому подобным 

А что питоновцу делать в коде на С++ ? О_о

Цитата

Ну так я то же самое ведь написал. 

То же самое - по логике. Но не каждый оптимизатор оптимизирует это до "наложения маски".

Цитата

..... много кода
тру хакеры должны писать только так, я вас понял.

Это серъезная оптимизация, может применяться в особо чувствительных к производительности местах. 
К тому же её можно оформить как inline функцию и использовать в любом месте. И "тру хакеры" тут нипричем.
PM MAIL   Вверх
mes
Дата 10.7.2009, 23:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(hsilgos @  10.7.2009,  22:24 Найти цитируемый пост)
А что питоновцу делать в коде на С++ ? 

Этой фразой я хотел подчеркнуть что не каждому программисту нужно знание двоичной системы, а так как Cpp позволяет программить как и на Си-уровне, так и на более высоком уровне,
то есть очень большой ряд Cpp-программистов, сродных по целям задач к питоновцам, т.е тем кому низкоуровневые знания нужны лишь как общая теория, и не находят применения на практике.
smile

Добавлено через 3 минуты и 30 секунд
Цитата(hsilgos @  10.7.2009,  22:24 Найти цитируемый пост)
К тому же её можно оформить как inline функцию 

ага, и уже в ней спокойно, если вдруг компилятор не справится ( smile ), выбирать наиболее эффективное решение, чем просто писать &1.

Добавлено через 5 минут и 3 секунды
Цитата(DedMazai @  10.7.2009,  22:07 Найти цитируемый пост)
у меня всегда насчитывает на 3 символа больше, чем у меня есть в файле?

И что это за символы ? приведите пример что в файле, и что считывается.



--------------------
PM MAIL WWW   Вверх
DedMazai
Дата 10.7.2009, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 6.7.2009
Где: Лобня

Репутация: нет
Всего: нет



например "otvet" 
он выдаёт, что в файле не 5 символов, а 8...
PM MAIL ICQ   Вверх
mes
Дата 10.7.2009, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Хотелось бы добавить, что именно операция &1 в принципе сама по себе не очень сложная и действительно трудно поверить, что программисту она может представлять трудность,
однако такой подход это шаг в сторону низко-уровнего программирования, и хотя этот шаг безболезненный, но как говорится "где шаг, там и два" - то легко переусердствовать на мнимой оптимизации, затруднив этим его поддержку. 

P.S. для ассемблерщиков использование &1 в крови, и ot %2 их естественно подташнивает поначалу, пока не поймут, что оптимизатор справится не хуже.
(говорю на собственном опыте хотя и не ассемблерщик - привычка пришла из прошлой жизни smile )
(ну а если опция оптимизации не включена, значит проект и не нуждается в оптимизации )

Вообщем вот такое имхо.

Добавлено @ 23:58
Цитата(DedMazai @  10.7.2009,  22:49 Найти цитируемый пост)
например "otvet" 
он выдаёт, что в файле не 5 символов, а 8..

перевод строки уже два символа ("\r\n") и вероятно есть пробел еще.
Для проверки выведите два раза считанную строку, все что будет между ними и есть Ваши символы.


Это сообщение отредактировал(а) mes - 11.7.2009, 00:01


--------------------
PM MAIL WWW   Вверх
hsilgos
Дата 11.7.2009, 01:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 26.4.2009

Репутация: 1
Всего: 2



Цитата

Хотелось бы добавить, что именно операция &1 в принципе сама по себе не очень сложная и действительно трудно поверить, что программисту она может представлять трудность,
однако такой подход это шаг в сторону низко-уровнего программирования, и хотя этот шаг безболезненный, но как говорится "где шаг, там и два" - то легко переусердствовать на мнимой оптимизации, затруднив этим его поддержку. 

Ну, с этим я согласен. Низкоуровневую реализацию нужно оборачивать. Да и вообще, я сторонник того, чтобы на компилятор возлагать "рутинную" работу. Но и явную пессимизацию я не делаю.  smile

Добавлено через 1 минуту и 36 секунд
DedMazai, Случайно кодировка в файле не utf-8 ? 
PM MAIL   Вверх
DedMazai
Дата 11.7.2009, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 6.7.2009
Где: Лобня

Репутация: нет
Всего: нет



Цитата(hsilgos @ 11.7.2009,  01:32)
Добавлено @ 01:34
DedMazai, Случайно кодировка в файле не utf-8 ?

Нет, не utf-8

Цитата(mes @  10.7.2009,  23:56 Найти цитируемый пост)
перевод строки уже два символа ("\r\n") и вероятно есть пробел еще.Для проверки выведите два раза считанную строку, все что будет между ними и есть Ваши символы.

Не совсем разобрался, что мне сделать надо  smile 
Код
int i=0;i=Stri->Strings[0].Length();i++;

Возможно ли записать чтение этой строки так?
При этом всёравно на 1 символ больше выводит.. 

PM MAIL ICQ   Вверх
GoldFinch
Дата 11.7.2009, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 6
Всего: 26



операция И - это не низкоуровневая реализация, а обычная математика =\
PM MAIL ICQ   Вверх
mes
Дата 11.7.2009, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(GoldFinch @  11.7.2009,  11:18 Найти цитируемый пост)
операция И - это не низкоуровневая реализация, а обычная математика =\ 

не обычная, а  двоичная . Я считаю, что если операции проводятся над двоичными или шестандцатиричными числами, то вполне уместно использовать двоичные операции, так как они накладываются без изменения логики. А вот для десятиричной системы лучше использовать десятиричные операции. Как я уже говорил выше операция &1 "случайно"по логике подходит для 10ричной сс.
Но если чуть развернуть задание, например надо вначале вывести все четные числа, потом кратные трем, потом 4м - то сразу видно что &1 будет выглядеть обособлено.
А зачем лишний раз тратить свое внимание на то, что может сделать компилятор ?

Добавлено @ 13:49
Цитата(GoldFinch @  11.7.2009,  11:18 Найти цитируемый пост)
обычная математика 

тут тоже в 28 строке обычная математика:
http://forum.vingrad.ru/index.php?showtopi...t&p=1916322
ну как, с ходу понятно, какое условие зашифровано в этой строке ?  smile 

 однако мне совесть не позволила оставить такой подход и пришлось написать по нормальному :
http://forum.vingrad.ru/index.php?showtopi...t&p=1916495

логика работы примера стала более свободная и понятная, а операции деления в случае возможной замены на битовые операции компилятор сделает сам.

Я думаю этот пример как раз показывает преимущества второго подхода над первым.
smile




Это сообщение отредактировал(а) mes - 11.7.2009, 15:24


--------------------
PM MAIL WWW   Вверх
mes
Дата 11.7.2009, 15:31 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(DedMazai @  11.7.2009,  10:43 Найти цитируемый пост)
Не совсем разобрался, что мне сделать надо  smile 

Для начала проверить файл на отсутствие в нем лишних символов, таких как пробел или перевод строки.
можно  посмотреть его реальный размер и убедиться, что файл со строчкой otvet занимает 5 байт.

Цитата(DedMazai @  11.7.2009,  10:43 Найти цитируемый пост)
int i=0;i=Stri->Strings[0].Length();i++;

Вот тут Вы получили длину строки, а потом зачем то инкрементируете это значение. зачем ?
покажите полностью участок кода по подсчету длины считанной последовательности.




--------------------
PM MAIL WWW   Вверх
DedMazai
Дата 11.7.2009, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 6.7.2009
Где: Лобня

Репутация: нет
Всего: нет



Цитата(mes @  11.7.2009,  15:31 Найти цитируемый пост)
Цитата(DedMazai @  11.7.2009,  10:43 )int i=0;i=Stri->Strings[0].Length();i++;Вот тут Вы получили длину строки, а потом зачем то инкрементируете это значение. зачем ?покажите полностью участок кода по подсчету длины считанной последовательности.

Блин, действительно, глупость сделал smile)
Код
    TStringList * Stri = new TStringList();
    Stri->LoadFromFile("otvet.txt");
    AnsiString word =(Stri->Strings[0]);
    int i=0;i=Stri->Strings[0].Length();

PM MAIL ICQ   Вверх
mes
Дата 11.7.2009, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



в файле содержится слово "otvet" из 5 букв ? размер файла 5 байт ? переменная i после приведенного выше кода содержит 8 ?
при двойном выводе на экран печатает  "otvetotvet" ? так ? 




Это сообщение отредактировал(а) mes - 11.7.2009, 17:12


--------------------
PM MAIL WWW   Вверх
DedMazai
Дата 11.7.2009, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 6.7.2009
Где: Лобня

Репутация: нет
Всего: нет



Нет, приведённый выше код работает правильно )

PM MAIL ICQ   Вверх
mes
Дата 11.7.2009, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(DedMazai @  11.7.2009,  16:29 Найти цитируемый пост)
Нет, приведённый выше код работает правильно )

тогда в чем вопрос ?!

Добавлено @ 17:45
а понял.. Виной всему то Ваше  ++i ?! smile

Добавлено через 4 минуты и 8 секунд
не забудьте тогда тему как решенную пометить smile


Это сообщение отредактировал(а) mes - 11.7.2009, 17:45


--------------------
PM MAIL WWW   Вверх
DedMazai
Дата 11.7.2009, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 6.7.2009
Где: Лобня

Репутация: нет
Всего: нет



Цитата(mes @  11.7.2009,  17:42 Найти цитируемый пост)
а понял.. Виной всему то Ваше  ++i ?! 

да, да именно оно smile)

А может пока ненадо, вдруг ещё вопросы будут ^^ чтоб тему новую не создавать ))
PM MAIL ICQ   Вверх
mes
Дата 11.7.2009, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(DedMazai @  11.7.2009,  16:50 Найти цитируемый пост)
А может пока ненадо, вдруг ещё вопросы будут ^^ чтоб тему новую не создавать )) 

Лучше новую создайте, во первых по правилам один вопрос - одна тема, во вторых тут очень много флуда. Всем будет проще в новой,
вместо того чтоб разбираться в этой, что и к чему относится. 

Кстати просьба, при следующем вопросе не надо партизанить, как в этой теме. Старайтесь описать проблему, так чтоб не приходилось собирать обрывки по теме.
 smile 

Это сообщение отредактировал(а) mes - 11.7.2009, 17:58


--------------------
PM MAIL WWW   Вверх
DedMazai
Дата 11.7.2009, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 6.7.2009
Где: Лобня

Репутация: нет
Всего: нет



...

Добавлено через 4 минуты и 16 секунд
спасибо всем )

Это сообщение отредактировал(а) DedMazai - 11.7.2009, 18:10
PM MAIL ICQ   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1825 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.