Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > С/С++
Перезагрузить страницу Как подсчитать контрольные суммы
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Anonymous
Guest
 
Сообщений: n/a
По умолчанию Как подсчитать контрольные суммы - 12.07.2003, 20:10

Как можно подсчитать контрольную сумму в ascii кодах в текстовом файле (текст ниже)? Понятнее каждая буква имеет свой код например пробел имеет код 32 0 - 48 1 - 49 и т.д.

General@003332@Golovolomka@Merzen Аппачи сервер 200323323@(здесь сумма)

(at в сумму не должна входить а остальное подсчитать на общую сумму)
Ответить с цитированием
  (#2 (permalink)) Старый
Влад Влад вне форума
Специалист
 
Сообщений: 3,884
Сказал(а) спасибо: 1
Поблагодарили 25 раз(а) в 25 сообщениях
Регистрация: 27.06.2002
Адрес: Санкт-Петербург
По умолчанию 14.07.2003, 09:44

Если контрольная сумма представляет простую сумму ASCII-кодов всех символов, то примерно так:
Код:
char* p = "General@003332@Golovolomka@Merzen Аппачи сервер 200323323@";
unsigned int checksum = 0;
while (*p) {
    if (*p != '@') checksum += (unsigned char)*p; p++;
}
Ответить с цитированием
  (#3 (permalink)) Старый
Anonymous
Guest
 
Сообщений: n/a
По умолчанию ASCII Codes transfer - 24.07.2003, 18:49

rojecttext11.cpp(7) : error C2143: syntax error : missing ';' before 'while'
c:projecttext11.cpp(7) : error C2143: syntax error : missing ';' before '{'
c:projecttext11.cpp(7) : error C2447: missing function header (old-style formal list?)

Дало такое сообщение как быть?

И ещё ну если подумать проще сделать то на паскале оператором ORD() можно вытащить как его реализовать на Дельфи5?
Ответить с цитированием
  (#4 (permalink)) Старый
SiMM SiMM вне форума
Member
 
Сообщений: 1,961
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.08.2003
По умолчанию Re: ASCII Codes transfer - 08.08.2003, 14:55

Цитата:
Originally posted by Guest
[b]rojecttext11.cpp(7) : error C2143: syntax error : missing ';' before 'while'
c:projecttext11.cpp(7) : error C2143: syntax error : missing ';' before '{'
c:projecttext11.cpp(7) : error C2447: missing function header (old-style formal list?)

Дало такое сообщение как быть?
Ну и где же тут код мифического text11.cpp? Или ты думаешь - тут телепаты сидят?
Цитата:
И ещё ну если подумать проще сделать то на паскале оператором ORD() можно вытащить как его реализовать на Дельфи5?
А при чём тут паскаль/дельфи? В дельфи наверняка оператор ord тоже имеется, только сдаётся мне - ты пытаешься Дельфе или Паскалю сишную программу скормить.
Ответить с цитированием
  (#5 (permalink)) Старый
Timprog Timprog вне форума
Member
 
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 26.07.2003
По умолчанию 12.08.2003, 07:47

Если это C++ то, возможно надо так:
Код:
char* p = "General@003332@Golovolomka@Merzen Аппачи сервер 200323323@"; 
unsigned int checksum = 0; 
while (*p) { 
    if (*p != '@') {
      checksum += *(static_cast<unsigned int *>(p)); 
      p++;
   }
}
Лучше попонятнее, чем похлеще...
Возможные ошибки: выход за границы массива (int=4 байт, char=1)
возможно, будет работать конструкиця (unsigned int *)p;
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
SiMM SiMM вне форума
Member
 
Сообщений: 1,961
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.08.2003
По умолчанию 12.08.2003, 12:30

Цитата:
Originally posted by Timprog
[b]Возможные ошибки: выход за границы массива (int=4 байт, char=1)
Так это, имхо, не то - Влад всё правильно написал, да и проще его вариант.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сумма ряда x-(x^3)/3!+(x^5)/5!-(x^7)+...+(x^13)/13 как подсчитать непонимаю Lisp 0 19.05.2011 20:05
Помогите!! решить контрольные по информатике Елена3 Вопросы начинающих программистов 0 06.05.2011 10:46
Задачи на нормализацию суммы. djvu Prolog 1 09.12.2008 17:45
"Контрольные суммы" - что это? Strannik86 Любые вопросы от новичков 7 27.09.2008 23:38
Количество дней как подсчитать RX-10 Delphi 4 29.07.2008 18:05
Как подсчитать сумму контрактов Mop SQL 3 03.09.2007 13:01
Мат ожидание как его подсчитать программно Хочу быть программистом C++ Builder 4 27.08.2007 14:35
вывод суммы в ячейку mister_ss Visual Basic 6 18.01.2007 21:00
Реализация контрольной суммы Holden C++ Builder 5 01.08.2006 17:56
Как подсчитать Internet трафик Cu9YpD Delphi 5 05.10.2005 12:07
Как подсчитать количество фактов в БД? imported_MasterX Prolog 3 24.04.2005 22:15
Как подсчитать количество компактдисков Das Alexander Visual C++ 1 16.11.2004 07:54



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов