Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

map::insert въпрос

Featured Replies

здравейте опитвам да добавя стойности с key но след като използвам втората форма на insert не се добавят други стойности ето го примера #include <iostream> #include <map> using namespace std; int main(){ map<char,int> ob; int a; for(a=0;a<9;a++) ob.insert(pair<char,int>('A'+a,a)); map<char,int>::iterator b; b=ob.begin(); while(b!=ob.end()){ cout<<b->first<<' '<<b->second<<endl; b++; } ob.insert(ob.begin(),ob.find('C')); b=ob.begin(); while(b!=ob.end()){ cout<<b->first<<' '<<b->second<<endl; b++; } return 0;}

Знаеш ли какво е map, за какво се ползва и как работи?

Ако да, ще си отговориш и на твоя въпрос... Ако не, не виждам смисъл да ти отговарям.

п.п. А ти ще ползваш ли някога

 таг-а?

Редактирано от flare (преглед на промените)

  • Автор
разбрах го със втората форма

ob.insert(ob.begin(),ob.find('C'));

поставя последователноста от началото на картата ob.begin() до елемента със стойност 'C'

и връща iterator към елемента съдържащ 'C'

мерси

разбрах го със втората форма

ob.insert(ob.begin(),ob.find('C'));

поставя последователноста от началото на картата ob.begin() до елемента със стойност 'C'

и връща iterator към елемента съдържащ 'C'

мерси

по точно добавя последователноста между двата iteratora

разбрах го със втората форма

Щом си го разбрал, обясни ни го да разберем и ние :) . Защо втория път insert не прави нищо?
  • Автор

Щом си го разбрал, обясни ни го да разберем и ние :) . Защо втория път insert не прави нищо?

ами защото се опитвам да вмъквам същата информация в същия обект

а нали трябва или да използвам друг обект или multimap

ами защото се опитвам да вмъквам същата информация в същия обект

а нали трябва или да използвам друг обект или multimap

така работи

#include <iostream>

#include <map>

using namespace std;

int main(){

map<char,int>ob;

map<char,int>::iterator uk;

map<char,int>ob1;

int a;

for(a=0;a<26;a++) ob.insert(pair<char,int>('a'+a,a));

uk=ob.begin();

cout<<"Ob1 values\n";

while(uk!=ob.end()){

cout<<uk->first<<' '<<uk->second<<endl;

uk++;

}

ob1.insert(ob.begin(),ob.end());

uk=ob1.begin();

cout<<"Ob2 values\n";

while(uk!=ob1.end()){

cout<<uk->first<<' '<<uk->second<<endl;

uk++;

}

return 0;}

ами защото се опитвам да вмъквам същата информация в същия обект

По-точно информация със същия ключ(key). То точно това е предимството на map контейнера. В него при равни други условия е много по-бързо да търсиш/достъпваш обект по ключ отколкото в масив или списък.
  • Автор

По-точно информация със същия ключ(key). То точно това е предимството на map контейнера. В него при равни други условия е много по-бързо да търсиш/достъпваш обект по ключ отколкото в масив или списък.

да

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    32%
    Дарени 315 € от нужните 1 000 €

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.