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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сравнение двух векторов, с записью результатов в т 
:(
    Опции темы
Янус
Дата 8.4.2010, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Имеется два вектора А и В состоящие из элементов класса  String. А состоит из 64 строк длиной 64 символа. В состоит из 8 строк длиной 64 символа. Требуется следующее, берется строка из вектора А и символ из строки вектора В (в зависимости от того что это за символ 0 или 1 ) в результирующий вектор записывается, либо строка вектора А, либо 0 (если 1 то строка вектора А, если 0, то 0).
Вот все на что меня хватило:
Код

void VectorAdd(vector<string> &a,vector<string> &b,vector<string> &c)
{
    char buf='0';
    for(int i=0;i<b.size();i++)
    {
            const string bString=b[i];
            const char *pointb=bString.data();
        for(int j=0;j<a.size();j++)
        {
            if(pointb[i]!='0') c.push_back(a[i]);
            else c.push_back("0");
            
        }
    }
}

Заранее благодарен за ответы, и прошу больно не пинать за тупость..... Этот код работает не совсем правильно.
 


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


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



Что-то не очень понятно, что именно не так работает.
Это можно переписать так:
Код
void VectorAdd(vector<string> &a,vector<string> &b,vector<string> &c)
{
   for(vector<string>::const_iterator i = b.begin(), be = b.end(); i != be; ++i) {
       assert( i->size() == a.size() );
       for(vector<string>::const_iterator j = a.begin(), ae = a.end(), bi = i->begin(); j != ae; ++j)
           c.push_back( (*bi != '0') ? *j : std::string("0") );
   }
}

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

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

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

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

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


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

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


 




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


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

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