Postupné zapisování do pole – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Postupné zapisování do pole – C / C++ – Fórum – Programujte.comPostupné zapisování do pole – C / C++ – Fórum – Programujte.com

 

MontyCZ0
Newbie
6. 12. 2015   #1
-
0
-

čaute, chtěl bych se zeptat jak mám udělat aby došlo k postupnému zápisu do pole.

Když to proběhne aby se prostě zapsalo AB do pole2, pak se narazí na další A tak znovu AB do pole2, ale až za to původní AB. Jakým způsobem se to dá udělat?

int main(int argc, char ** argv){
    int i;
    int delka;
    char *pole2;
    char *pole="AABBAABB";
    delka=(strlen(pole));
    for (i=0; i<delka;i++){
        if (pole[i]=='A'){
            pole2="AB";
        }
    }
    printf("%s", pole2);

}
Nahlásit jako SPAM
IP: 212.79.105.–
Matěj Andrle+1
Grafoman
6. 12. 2015   #2
-
0
-

#1 MontyCZ
Se stringem bych zacházel přes RegEx, nikoliv skrz pole.

Nahlásit jako SPAM
IP: 31.30.56.–
MontyCZ0
Newbie
6. 12. 2015   #3
-
0
-

šlo by to nějak upřesnit? 

Nahlásit jako SPAM
IP: 212.79.105.–
Matěj Andrle+1
Grafoman
6. 12. 2015   #4
-
0
-

#3 MontyCZ
Napíšeš pattern a dle něho pak můžeš tahat hodnoty... Stačí do Google hodit keyword "regex".

http://www.cplusplus.com/reference/regex/

Nahlásit jako SPAM
IP: 31.30.56.–
BDS+3
Věrný člen
6. 12. 2015   #5
-
0
-

#1 MontyCZ

1. k přidání na konec textu slouží funkce strcat (samozřejmě předtím, než budeš pole plnit, tak jej vyprázdni)
2. pole2 nemáš alokované!

Nahlásit jako SPAM
IP: 185.69.69.–
W11 :)
MontyCZ0
Newbie
6. 12. 2015   #6
-
0
-

Co se týče pointerů, tak to mi totálně ujel vlak. Zatím jsem tomu nepřišel na kloub. Jak bych teda měl správně alokovat to pole2 když dopředu nevím jak bude velké, ale potřebuji aby se do něj postupně za sebe vkládalo? 

Nahlásit jako SPAM
IP: 212.79.105.–
Matěj Andrle+1
Grafoman
6. 12. 2015   #7
-
0
-

#6 MontyCZ
malloc... Vůbec nechápu, proč se tedy věnuješ C++. Co takhle D/D2? Je to C++ opravený a postavený pro vyšší úroveň s přístupem až ke strojovému kódu... Automatická správa paměti, Parrot, ... No a Lisp, .NET, Python, TCL, ...

Nahlásit jako SPAM
IP: 31.30.56.–
MontyCZ0
Newbie
6. 12. 2015   #8
-
0
-

Jedna věc je se tomu věnovat a druhá to mít ve škole. Copak jsem někde napsal, že mě to nebaví nebo něco podobného? 

Nahlásit jako SPAM
IP: 212.79.105.–
BDS+3
Věrný člen
6. 12. 2015   #9
-
0
-

#6 MontyCZ
má to být C++ nebo C?

Nahlásit jako SPAM
IP: 185.69.69.–
W11 :)
MontyCZ0
Newbie
6. 12. 2015   #10
-
0
-

klasicky C, to jsem zapomněl dodat. Za to se omlouvám.

Nahlásit jako SPAM
IP: 212.79.105.–
Matěj Andrle+1
Grafoman
6. 12. 2015   #11
-
0
-

#8 MontyCZ
No když neznáš pointery, alokaci, ... Tak tedy jak píši - já bych na string použil RegEx. Navíc by tak odpadly starosti se správou paměti.

Nahlásit jako SPAM
IP: 31.30.56.–
BDS+3
Věrný člen
6. 12. 2015   #12
-
0
-
Nahlásit jako SPAM
IP: 185.69.69.–
W11 :)
KIIV
~ Moderátor
+43
God of flame
6. 12. 2015   #13
-
+1
-
Zajímavé

#11 Matěj Andrle
mu chces doporucit regex v C a jsi presvedcen, ze nebude mit problemy s pameti ani s pouzitim, kdyz ani nevi, co je pointer... Zacatecnici sotva zvladnou prilinkovat matematickou libku, kdyz ji chteji pouzit...

Ten druhej text nemuze byt nikdy delsi, nez dvojnasobek prvniho + 1, tak neni problem alokovat. A strcat na to bohate staci. Neni potreba brat hvezdu smrti na zabiti komara.

Nahlásit jako SPAM
IP: 94.113.92.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 14 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý