#7 ingiraxo
A málem jsem zapomněl, mockrát Vám děkuji! :)
Příspěvky odeslané z IP adresy 217.112.160.–
No,program má fungovat na stejném principu jako tento:
potřebuji jen ten výpis do konzoly,kamarádovi to vypíše náhodná čísla do matice,která je jednorozměrná,například jak má tady kamarád 1 řádek. Nechci to od něj kopírovat,aby mě ještě učitel neoznačil za plagiátora, protože kódy kontroluje. Kód níže je plně funkční.
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char* argv[])
{ int i, j, m,n, *data, **matice;
printf("Zadejte pocet radku a pocet sloupcu matice\n");
scanf("%d %d",&m,&n);
data=(int*)malloc(m*n*sizeof(int));
matice=(int**)malloc(m*sizeof(int*));
for(i=0,j=0;i<m;i++,j+=n)matice[i]=data+j;
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
matice[i][j]=rand()%100;
printf("%4d",matice[i][j]);
}
}
free(data);
free(matice);
return 0;
}
Bohužel tento kód nefunguje, zadání zní:
Vytvořte program ve kterém budete moci za běhu programu zadávat rozměry matice a alokovat a uvolňovat pro ní pamět z paměťové haldy (memory heap) pomocí funkcí malloc a free. Vytvořte demonstrační program, kdy prvky matici inicializujte pomocí náhodných čísel. Celou matici uložte do jednorozměrného pole.Kód uvedený výše vypíše jen čísla,jenže úkol je vypsat jednorozměrnou matici.
Dobrý den,
věděl by někdo,jak vypsat vypočítanou matici skrz příkaz printf()? Vůbec si s tím nevím rady. Učitel říkal že je to otázka čtyř řádků. Děkuji za všechny rady
#include <malloc.h>
#include <stdio.h>
int main()
{
int a,b;
int i;
int *pole,*pole_start;
printf("Zadejte rozmery matice,\na)...pocet radku\nb)...pocet sloupcu\n\n");
printf("a = ");
scanf("%d",&a);
printf("b = ");
scanf("%d",&b);
pole_start = pole = (int*)malloc(a*b*sizeof(int));
if(pole==NULL)
{
printf("neni dostatek pameti");
return 0;
}
for(i=0;i<(a*b);i++)
{
pole[i]=i*i;
}
free(pole_start);
getch();
system("pause");
return 0;
}