|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.09.2007, 23:08 | #1 |
Пользователь
Регистрация: 19.09.2007
Сообщений: 11
|
Сумма кодов строки - Borland C++Builder
Я понимаю, что это вопрос не по теме, но почему-то категории Borland C++Builder я не нашёл. Решил написать в этом разделе (Delphi), т.к. среды очень похожи, а программы не отличаются большой сложностью...
Подскажите плиз. char *stroka; unsigned int b, dlina; //dlina- длина строки динамической строки stroka //в строке stroka есть какой-то текст уже... for (e=0;e<dlina;e++) s=s+stroka[e]; вот почему он не складывает коды символов тут? ну если слово "abc", то 97+98+99=294 и переменная s=294. в обычном си хорошо работает |
29.09.2007, 01:15 | #2 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
наверное борланд считает как и в дельфи ) тобиш CHAR = chr(BYTE) - это символ а не число... а в си это число типа BYTE вот поэтому и не считает.. может быть я незнаю
|
29.09.2007, 08:54 | #3 |
Форумчанин
Регистрация: 10.09.2007
Сообщений: 105
|
Все должно считаться. Все таки Си славится своими неявными преобразованиями. С делфи не сравнивать!
s какого типа? я что то не увидел.... Вот смотри, тупой пример в лоб: int main(int argc, char* argv[]) { char *s; int summ = 0; s = "abc"; for(int i=0; i<3; i++) summ+=s[i]; cout<<summ<<endl<<endl; system("pause"); return 0; } все как нужно....в консоль выдает 294
Бог сделал людей разными, а генерал Кольт уравнял шансы
|
29.09.2007, 13:06 | #4 | |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Цитата:
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
|
29.09.2007, 13:42 | #5 |
Форумчанин
Регистрация: 10.09.2007
Сообщений: 105
|
Я делал в C++ Builder 6.0
Бог сделал людей разными, а генерал Кольт уравнял шансы
|
29.09.2007, 15:04 | #6 |
Пользователь
Регистрация: 19.09.2007
Сообщений: 11
|
"в консоль выдает 294" причем тут консоль? я формы использовал, кнопочки и прочее
|
29.09.2007, 16:53 | #7 | |
Форумчанин
Регистрация: 10.09.2007
Сообщений: 105
|
Цитата:
Ибо компилятор для всех этих дел используется один и тот же. Я попросил, покажи тип твоей s...ну на крайний случай, можешь использовать операцию явного приведения (int)....хотя она не нужна. Ребята без нервов! Говорю же все работает!
Бог сделал людей разными, а генерал Кольт уравнял шансы
|
|
29.09.2007, 20:24 | #8 | |
Пользователь
Регистрация: 19.09.2007
Сообщений: 11
|
Цитата:
Код такой: char *stroka; unsigned int e, b, dlina; for (i=1;i<StringGrid3->RowCount;i++) { b=0; dlina=strlen(StringGrid3->Cells[1][i].c_str()); stroka=(char*)malloc(dlina*sizeof(c har)); strcpy(stroka,StringGrid3->Cells[1][i].c_str()); for (e=0;e<dlina;e++) b=b+int(stroka[e]); b=b%StringGrid3->RowCount; if (StrToInt(StringGrid4->Cells[0][b])!=0) StringGrid3->Cells[3][StrToInt(StringGrid4->Cells[0][b])]=i; else StringGrid4->Cells[0][b]=i; free(stroka); } Тип переменной b - unsigned int Прога работает, но если бы не было операции приведения типов... Теперь понял, чем отличается? |
|
30.09.2007, 05:54 | #9 |
Форумчанин
Регистрация: 10.09.2007
Сообщений: 105
|
Не совсем, потому как...
Вот вывод в Edit сработал без приведения типов... char *s = "abc"; int sum = 0; for(int i=0; i<3; i++) sum+=s[i]; Edit1->Text = sum; Ересь какая то... Попробуй сделать тоже самое? не требует приводить?
Бог сделал людей разными, а генерал Кольт уравнял шансы
Последний раз редактировалось studenth; 30.09.2007 в 06:08. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите с курсовой borland с++ builder 6.0 | Go6a | Помощь студентам | 5 | 14.11.2008 18:20 |
Что лучше Borland C++ Builder 6 или visualC# 2005??? | ramfan | Софт | 2 | 17.04.2008 20:33 |
Borland C++Builder 2007 | Sota | Софт | 1 | 14.03.2008 20:21 |
помогите с Borland C++ Builder 6.0 Enterprise | Noor | Софт | 4 | 15.10.2007 14:13 |
Стоит ли мне изучать Borland C++ Builder? | Mustang | Свободное общение | 18 | 14.10.2007 16:04 |