Elektronika i Telekomunikacja POLSL
Forum Elektroników Wydziału AEI Politechniki Śląskiej
FAQ  ::  Szukaj  ::  Użytkownicy  ::  Grupy  ::  Galerie  ::  Rejestracja  ::  Profil  ::  Zaloguj się, by sprawdzić wiadomości  ::  Zaloguj


dynamiczna alokacja

 
Napisz nowy temat   Odpowiedz do tematu    Forum Elektronika i Telekomunikacja POLSL Strona Główna » Semestr II / PPK
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
zaix
Chuda Jedynka



Dołączył: 23 Paź 2006
Posty: 140
Przeczytał: 0 tematów

Skąd: ci przyszło do głowy to pytanie?

PostWysłany: Wto 12:09, 08 Maj 2007    Temat postu: dynamiczna alokacja

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

int *al(int liczba_elementow);

int main(void)
{

int *tablicadynamiczna, wielkosc, i;
if ((scanf("%d",&wielkosc)==1)&&(wielkosc>0)) {
tablicadynamiczna = al(wielkosc); //malloc (wielkosc*sizeof(int));


for (i=0; i<wielkosc; i++)
printf("%d: %d\n",i,tablicadynamiczna[i]);

free(tablicadynamiczna);
}

getchar();
getchar();

return 0;
}

int *al(int ile)
{
int i,*tablicadynamiczna;
tablicadynamiczna = malloc(ile*sizeof(int));
if (!tablicadynamiczna)
exit(0);
for (i=0; i<ile; i++)
tablicadynamiczna[i]=2*i;
return tablicadynamiczna;
}
Powrót do góry
Zobacz profil autora
zaix
Chuda Jedynka



Dołączył: 23 Paź 2006
Posty: 140
Przeczytał: 0 tematów

Skąd: ci przyszło do głowy to pytanie?

PostWysłany: Wto 12:18, 08 Maj 2007    Temat postu:

WERSJA CHAR

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

int *al(int liczba_elementow);

int main(void)
{

int *tablicadynamiczna, wielkosc, i;
if ((scanf("%d",&wielkosc)==1)&&(wielkosc>0)) {
tablicadynamiczna = al(wielkosc); //malloc (wielkosc*sizeof(int));


for (i=0; i<wielkosc; i++)
printf("%d: %d\n",i,tablicadynamiczna[i]);

free(tablicadynamiczna);
}

getchar();
getchar();

return 0;
}

int *al(int ile)
{
int i,*tablicadynamiczna;
tablicadynamiczna = malloc(ile*sizeof(int));
if (!tablicadynamiczna)
exit(0);
for (i=0; i<ile; i++)
tablicadynamiczna[i]=2*i;
return tablicadynamiczna;
}
Powrót do góry
Zobacz profil autora
lew
Tłuste zero



Dołączył: 11 Lis 2006
Posty: 21
Przeczytał: 0 tematów

Skąd: Radzionków

PostWysłany: Wto 12:26, 08 Maj 2007    Temat postu:

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

char *alokuj(int wielkosc)
{

char *tablicadynamiczna;
int i;
tablicadynamiczna = malloc(wielkosc*sizeof(int));

if (!tablicadynamiczna)
exit(0);

for(i = 0; i < wielkosc; i++)
{
tablicadynamiczna[i]=(i%128)+'0';
}
return tablicadynamiczna;
}



int main()
{

int wielkosc, i;
char *tablicadynamiczna;

if ((scanf("%d", &wielkosc)==1) && wielkosc > 0)
{

tablicadynamiczna=alokuj(wielkosc);


for(i = 0; i < wielkosc; i++)
{
printf("%d: %c\n", i, tablicadynamiczna[i]);
}

free(tablicadynamiczna);


return 0;
}
}
Powrót do góry
Zobacz profil autora
lew
Tłuste zero



Dołączył: 11 Lis 2006
Posty: 21
Przeczytał: 0 tematów

Skąd: Radzionków

PostWysłany: Wto 12:33, 08 Maj 2007    Temat postu:

Dla losowych wartosci

Kod:
srand(wielkosc); (w mainie)
tablicadynamiczna[i]=rand()%(128-'0'); (w funkcji)
Powrót do góry
Zobacz profil autora
zaix
Chuda Jedynka



Dołączył: 23 Paź 2006
Posty: 140
Przeczytał: 0 tematów

Skąd: ci przyszło do głowy to pytanie?

PostWysłany: Pią 16:58, 11 Maj 2007    Temat postu:

w drugim poscie jest błąd... wkleiłem przypadkiem drugi raz to samo Razz
Powrót do góry
Zobacz profil autora
Madafak
PRAWIE elektronik - prawie robi...



Dołączył: 12 Paź 2006
Posty: 290
Przeczytał: 0 tematów

Skąd: stamtąd

PostWysłany: Śro 16:29, 23 Maj 2007    Temat postu:

Ja mam małe pytanie
W każdym z tych programów jak wrzucę u siebie do visuala pojawia mi sie następujący błąd
Kod:
error2440:cannot convert from "void*" to "char/int

w wierszach typu :
Kod:
tablicadynamiczna = malloc(ile*sizeof(int));

Dlaczego mi to nie działa? Mógłby mi to ktoś wytłumaczyć? byłbym bardzo wdzięczny, bo nawet przy programie z instrukcji tak jest
Powrót do góry
Zobacz profil autora
Madafak
PRAWIE elektronik - prawie robi...



Dołączył: 12 Paź 2006
Posty: 290
Przeczytał: 0 tematów

Skąd: stamtąd

PostWysłany: Śro 16:50, 23 Maj 2007    Temat postu:

Dobra już mam Wink
Powrót do góry
Zobacz profil autora
dykii
ELEKTRONIK - on już ciągnie druty



Dołączył: 12 Paź 2006
Posty: 380
Przeczytał: 0 tematów

Skąd: Katowice/Gliwice gr. II

PostWysłany: Śro 17:38, 23 Maj 2007    Temat postu:

i czemu nie dzialalo?
Powrót do góry
Zobacz profil autora
Madafak
PRAWIE elektronik - prawie robi...



Dołączył: 12 Paź 2006
Posty: 290
Przeczytał: 0 tematów

Skąd: stamtąd

PostWysłany: Śro 18:08, 23 Maj 2007    Temat postu:

Trzeba było zmienić rozszerzenie pliku z *.cpp na *.c i po kłopocie.
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Elektronika i Telekomunikacja POLSL Strona Główna » Semestr II / PPK Wszystkie czasy w strefie CET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
  ::  
fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group   ::   template subEarth by Kisioł. Programosy   ::  
Regulamin