Pole stringov – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Pole stringov – C / C++ – Fórum – Programujte.comPole stringov – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
10. 4. 2011   #1
-
0
-

Nechapem preco to nefunguje :(

#include <stdio.h>

#include <stdlib.h>
#define pocet 5

void zapln_pole(char **pole)
{
int i;
for(int i=0;i<pocet;i++)
{
scanf("%s", pole[i]);
}
}

void vypis_pole(char **pole)
{
for(int i=0;i<pocet;i++)
{
printf("%s\n", pole[i]);
}

}

int main()
{
char **pole=(char **) malloc(pocet*sizeof(char));
zapln_pole(pole);
vypis_pole(pole);

system("pause");
return 0;
}

Nahlásit jako SPAM
IP: 95.105.141.–
Reklama
Reklama
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
10. 4. 2011   #2
-
0
-

help ? prosim?

Nahlásit jako SPAM
IP: 95.105.141.–
ondra.holub+1
Stálý člen
10. 4. 2011   #3
-
0
-

Musíš nejprve naalokovat pole ukazatel; na char - to je to pole stringů. Do něj pak strčíš ukazatele na konkrétní pole. A každé musíš opět naalokovat.

char** pole = malloc(pocet_prvku_pole * sizeof(char*));

for (int i = 0; i < pocet_prvku_pole)
{
pole[i] = malloc(pozadovana_delka * sizeof(char));
}
V tvém případě ten vnořený malloc musíš udělat ještě před scanf. A nějak si išetřit přetečení mezí.

Nahlásit jako SPAM
IP: 212.96.189.–
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
10. 4. 2011   #4
-
0
-

Thx :)

Nahlásit jako SPAM
IP: 95.105.141.–
_SpiRiT_0
Duch
30. 4. 2011   #5
-
0
-

Chcem sa opyptat ako mozem vypisat x-ty znak v poli stringu:
(na nete som to nikde nenasiel)

string ssss[3];

ssss[0]="abcde";
cout << ssss[0][0]; // vypise znak 'a'
cout << ssss[3][0]; // vypise znak 'd'
tento program sice zkompiluje, no ked dam cez for vypisat vsetko (ssss[i][0]) 1. znak vypise, dalej vypisuje divne znaky a na 4-5 znaku prestane program pracovat

// aky je rozdiel ak vytvorim string normalne cez = a cez string::string str("text") ?

Nahlásit jako SPAM
IP: 89.173.31.–
crAzY^
~ Moderátor
+10
Grafoman
30. 4. 2011   #6
-
0
-

ssss[0][0] ... prvni znak prvniho stringu

ssss[1][0] ... prvni znak druheho stringu
ssss[0][1] ... druhy znak prvniho stringu


doufam ze to staci

Nahlásit jako SPAM
IP: 89.190.90.–
All you need is vision and time.
_SpiRiT_0
Duch
30. 4. 2011   #7
-
0
-

:smile5: :smile15: diky

Nahlásit jako SPAM
IP: 89.173.31.–
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, 162 hostů

Moderátoři diskuze

 

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