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

Dynamická matice – C / C++ – Fórum – Programujte.comDynamická matice – C / C++ – Fórum – Programujte.com

 

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

Zdravím, jsem začátečník v C. Mám za úkol udělat program, ve kterém budu za běhu programu zadávat počet řádku a sloupců matice a budou se tisknout náhodná čísla ve formě matice. Prosím poraďte. Díky. Zatím mám jen toho a nevím jak dál:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
int sloupce, radky, i;
int *PrvkyvMatici=radky*sloupce;

srand(time(0));
printf("\n Program pro generovani dynamicke matice"
"\n ------------------------------------------- ");
printf("\n Zadejte pocet radku matice : ");
scanf("%d", &radky);
printf("\n Zadejte pocet sloupcu matice : ");
scanf("%d", &sloupce);

int matice=(int*) malloc (*PrvkyvMatici * sizeof(int));

if(matice != NULL)
{
for(i=0; i<PrvkyvMatici; i++)
{
printf("%i\n",(matice + i));
}
}

free(matice);
return 0;
}

Nahlásit jako SPAM
IP: 109.164.84.–
Reklama
Reklama
vitamin+8
Grafoman
28. 10. 2012   #2
-
0
-

Vecsinou sa to robi tak ze alokujes 2-rozmerne pole:

int stlpce, riadky;

int** matica = (int**)malloc(sizeof(int*) * riadky);


for(unsigned i = 0; i < riadky; ++i)
	*matica = (int*)malloc(sizeof(int) * stlpce);

Da sa to aj cez jednorozmerne pole, ale pristup k prvkov sa musi prepocitavat.

Nahlásit jako SPAM
IP: 95.105.157.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
Zke
~ Anonymní uživatel
5 příspěvků
28. 10. 2012   #3
-
0
-
  AfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBulgarianCatalanChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDetect languageDutchEnglishEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatinLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishThaiTurkishUkrainianUrduVietnameseWelshYiddish⇄AfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBulgarianCatalanChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatinLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishThaiTurkishUkrainianUrduVietnameseWelshYiddish Detect language » Czech  

Jak jsem říkal, jsem začátečník. Všechno dávám dohromady buď z internetu, nebo z knížek, ale nejhorší je, že to moc nechápu. Mohl byste mi to nějak vysvětlit? Díky.

Nahlásit jako SPAM
IP: 109.164.84.–
vitamin+8
Grafoman
28. 10. 2012   #4
-
0
-

Prestuduj si v akom vztahu su polia a pointre(ukazatele). Ten priklad vlastne vytvoril pole s velkostou poctu riadkov matice a do kazdeho prvku tohto pola "vlozil" pole s velkostou rovnou poctu stlpcov matice.

Nahlásit jako SPAM
IP: 95.105.157.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
ingiraxo+15
Grafoman
28. 10. 2012   #5
-
0
-

jen bych ještě místo malloc používal calloc, je to trochu bezpečnější, protože vynuluje všechny prvky

Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
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, 94 hostů

Podobná vlákna

Dynamická matice — založil andre

Dynamicka tabulka — založil Dee

Dynamická alokace — založil Bananovnik

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ý