Форум программистов, компьютерный форум CyberForum.ru

Проблемы с stringObj.append(stringObj.at(i) и stringObj.append(classObj[i].charObj) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сформировать массив по условию http://www.cyberforum.ru/cpp-beginners/thread795939.html
Заданы два вещественных массива Х=(х1, х2, …, хn) и Y=(y1, y2, …, ym). Сформировать массив Z, в который включить из массива Х элементы, превышающие среднее арифметическое значение массива Y, а из массива Y – элементы, большие среднее арифметическое значение массива Х.. Все что есть, но может неправильно, помогите. #include <conio.h> #include <stdio.h> #include <math.h> #include...
C++ Как заставить свой объект стрелять? Здравствуйте... Пытаюсь написать игру типа Космической дуэли... Застопарился на стрельбе... Точнее как заставить свой объект стрелять... Подскажите как можно организовать данный процесс. Или где можно про это почитать? #pragma once #include <iostream> #include <stdlib.h> #include <Windows.h> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread795937.html
Функция, которая возвращает цвет пикселя в точке с координатами х, у C++
Доброго времени суток. Уважаемые программисты, подскажите пожалуйста, есть ли в Visual Studio С++ 10 функция, которая бы возвращала цвет пикселя картинки в точке с координатами (х, у)? Так как я новичок , то работаю только в консоли. Вообще, задача состоит в сравнении двоих картинок: на входе получаем адреса этих картинок, а при выходе процентное соотношение совпавших и общего числа пикселей....
Написать сумму ряда С++ C++
Новичок еще, пытаюсь самостоятельно выучить язык, пока не очень получается.
C++ Три сопротивления R1, R2, R3 соединены параллельно. Найти сопротивление соединения http://www.cyberforum.ru/cpp-beginners/thread795884.html
Добрый вечер, ув. программисты! Очень нужна Ваша помощь. Моему сыну в колледже по программированию задали на завтра написать две программы (отдельно). Сам я в программировании "дундук" (ну не мое оно), сын мой только первый курс, на С++ ещё не работал. Суть самих программ такова: 2 программа "Три сопротивления R1, R2, R3 соединены параллельно. Найти сопротивление соединения" Ребята,...
C++ Ошибка в классе #include "Eliptic_arc.h" void Eliptic_arc::set_val(char name, int val) { } int Eliptic_arc::get_val(char name) { } подробнее

Показать сообщение отдельно
Kortez
0 / 0 / 0
Регистрация: 27.02.2013
Сообщений: 10
27.02.2013, 03:27  [ТС]     Проблемы с stringObj.append(stringObj.at(i) и stringObj.append(classObj[i].charObj)
Компилятор: g++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
KUbuntu 12.04 под VirtualBox
Предположение:
Кликните здесь для просмотра всего текста
Если судить по выводу информации о заполнении строки temp и соотнесении со строкой, которая декодируется, можно сделать вывод, что проблема возникает в момент записи символа в районе 19 строки из кода в первом посте.


Сейчас пробовал менять at(i) на []. Результат получился очень интересный. Моё предположение оказалось ложным.

Результат:
Метод работает
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
string fano::dekodirovanie()
{
    string temp;
    bool find = false;
    int findId = -1;
    for(int i = 0; i < kodStr.length(); i++)
    {
    temp.append(1, kodStr.at(i));               //ПРОБЛЕМА!!!
    cout << temp[i] << '\t' << temp.max_size() << '\t' << temp.capacity() << '\n';
    for(int j = 0; j < top; j++)
    {
//      cout << kodStr.at(i) << '\n';
        if(temp.compare(slovarFano[j].kod) == 0) 
        { find = true; findId = j; break; }
    }
    if(find) 
    {
        dekStr.append(1, slovarFano[findId].symbol);    //ПРОБЛЕМА!!!
        temp.clear();
        find = false; findId = -1;
    }
    //cout << dekStr.at(i) << '\t' << dekStr.max_size() << '\t' << dekStr.capacity() << '\n';
    }
    
    return dekStr;
}
При выполнении вылетает с той же ошибкой
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
string fano::dekodirovanie()
{
    string temp;
    bool find = false;
    int findId = -1;
    for(int i = 0; i < kodStr.length(); i++)
    {
    temp.append(1, kodStr.at(i));               //ПРОБЛЕМА!!!
    cout << temp.at(i) << '\t' << temp.max_size() << '\t' << temp.capacity() << '\n';     //проблема в этой строке
    for(int j = 0; j < top; j++)
    {
//      cout << kodStr.at(i) << '\n';
        if(temp.compare(slovarFano[j].kod) == 0) 
        { find = true; findId = j; break; }
    }
    if(find) 
    {
        dekStr.append(1, slovarFano[findId].symbol);    //ПРОБЛЕМА!!!
        temp.clear();
        find = false; findId = -1;
    }
    //cout << dekStr.at(i) << '\t' << dekStr.max_size() << '\t' << dekStr.capacity() << '\n';
    }
    
    return dekStr;
}
Спасибо за помощь! =)
 
Текущее время: 05:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru