С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 17.11.2015
Сообщений: 74

Что мне делать с этой ошибкой: ThrowIfOutOfRange(idx); // Should Range-checking be optional to avoid overhead?

01.12.2015, 22:56. Показов 1373. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Господа, обращаюсь к вам с огромной просьбой помочь!!!
Делаю проект шифрования с методом гаммирования, все почти сделал, в кончоли работает, при переложении на визуал получается ерунда
(код консоли:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#pragma hdrstop
#pragma argsused
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
 
int main()
{
 
    char msg[80];
    int key;
    char n;
    cout << "Plaintext: ";
    gets (msg); 
     cout << "key: " ;
    cin>>key;
 
    for ( n = 0; n < strlen(msg); n++)
        msg[n] = msg[n] ^ key; 
    cout << "Ciphertext: " << msg << "\n";
 
    system ("pause");
    return 0;
}
)

При компиляции появляется ошибка, с последующим открытием page с сообщением ThrowIfOutOfRange(idx); // Should Range-checking be optional to avoid overhead ??

Сам собственно код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int x=0,p;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 AnsiString msg,key,y;
int c,n;
key=Edit1->Text;
c=Memo2->Lines->Count;
 
 
for(int j=0;j<c;j++)
{
msg=Memo2->Lines->Strings[j];
c=msg.Length();
y="";
for(int i=1;i<=c;i++)
{
msg[n] = msg[n] ^ key;
}
Memo3->Lines->Add(y);
}
}
Где ошибка и что исправить?)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.12.2015, 22:56
Ответы с готовыми решениями:

ThrowIfOutOfRange(idx)
Вообщем,нужно удалить многострочный комментарий. s=st.Length(); st=&quot;&quot;; st1=&quot;&quot;; st=Memo2-&gt;Lines-&gt;Text; for(int i=1;...

Как установить Turbo Delphi ? Что делать с этой ошибкой ?
Что делать, если вылазит такая ошибка ? Устанавливал по этой инструкции: Порядок установки компонентов Delphi6 1.MSXML ...

Подскажите что мне делать с ошибкой [Linker Error] Unresolved external 'Btsdk_Init()' referenced from UNIT1.OBJ
Здравствуйте, помогите пожалуйста. Скачал с сайта http://www.bluesoleil.com/ библиотеку для работы с блютуз. В нее входит 4-е h...

3
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
01.12.2015, 23:18
Цитата Сообщение от Markell Посмотреть сообщение
Где ошибка и что исправить?
У вас <c> - константа цикла по j - внутри цикла переприсваивается, при какой-то итерации будет вылет за пределы списка Memo2 (зависит от длины msg).
0
0 / 0 / 0
Регистрация: 17.11.2015
Сообщений: 74
01.12.2015, 23:31  [ТС]
Уважаемый, я попробовал вынести строку [ c=msg.Length(); ] вверх цикла, но тогда шифрование, при нажатии на клавишу вообще не происходит. Помоги мне, если знаешь как совладать с этой бедой
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
02.12.2015, 00:01
.. полночь близится, а разбирать чужую программу - это кошмар (сон такой) обеспечен. Можно в условии цикла не трогать с, а записать просто - ; j<Memo2->Lines->Count; но там дальше есть еще y, который прибавляется в мэмо3. Но он как установился в цикле < y=""; > в "пусто", так с ним ничего и не делается. Просто напряги фантазию и пройди по своему циклу, с разбором каждой строчки (но лучше на свежую голову...).

Добавлено через 6 минут
П.С. похоже, что этот фрагмент составлен бездумно (например: в цикле по i используется некое n как индекс символа в слове. Символ этот пытаешься "отксорить" целой строкой!... ну и т.д. . Лучше проси "осведомленных" растолковать смысл каждой строчки цикла, который или скопирован неверно, или составлялся без понимания сути этих команд.

Добавлено через 6 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
  for(int j=0;j<Memo2->Lines->Count;j++)
  {
    msg=Memo2->Lines->Strings[j];
    c=msg.Length();
    y="";
    for(int i=1;i<=c;i++)
    {
      msg[i] ^= key[1];
      y += msg[i];
    }
    Memo3->Lines->Add(y);
  }
- в предположении, что в эдит1 - один символ-маска.

Добавлено через 8 минут
И на сон грядущий...
Нормальная шифровка все равно не получится, потому что мэмо3 ожидает нормальные, читаемые символы, а в результате операции XOR двух символов скорее всего получится что-то невразумительное, - даже ноль при совпадении. Как последовательность байтов это всё еще можно представить, но как текст - нет. Разве что каждый символ развернуть его хэкс-представлением (IntToHex((BYTE)y[n],2); ).
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.12.2015, 00:01
Помогаю со студенческими работами здесь

Что делать с этой ошибкой: "LNK2019: ссылка на неразрешенный внешний символ _WinMain@16"?
Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ _WinMain@16 в функции...

Что делать с Optional в слое сервисов?
Dao слой возвращает Optional. В сервисе лучше также возвращать Optional и работать с ним наверху или же делать get()?

Вирусы PUP.Optional.MailRu не удаляемые. Что делать?
Доброго времени суток! На моем компьютере программой Malwarebytes с недавнего времени постоянно определяются 2 вируса, которые не удаляются...

Вирус PUP.Optional.MailRU не удаляется. Что делать?
это опа полная, не хочется комп полностью переустанавливать, avast не находит вирусы, Malwarebytes тоже ничего не находит или я уже удалил...

Стоит ли мне делать бд по этой схеме
нужно сделать БД на примере производства печений.перед тем как начать делать хотелось бы узнать ваше мнение о схеме которую я сделал.стоит...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru