- Zenelejátszó építése, a kiváló hangzásért
- Egyszerűsíti termékportfólióját a HP
- Milyen belső merevlemezt vegyek?
- Vezetékes FEJhallgatók
- Kormányok / autós szimulátorok topicja
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- TCL LCD és LED TV-k
- E-book olvasók
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Vezetékes FÜLhallgatók
Hirdetés
-
V Rising - Végre tudjuk hogy mikor érkezik a PS5-ös kiadás
gp A PC-s teljes verzió már egy ideje játszható, hamarosan konzolra is megérkezik a játék.
-
AMD Radeon undervolt/overclock
lo Minden egy hideg, téli estén kezdődött, mikor rájöttem, hogy már kicsit kevés az RTX2060...
-
Egy utolsó platformmal egészíti ki a negyedik generációs EPYC családot az AMD
ph Az EPYC 4004-es generáció a kis- és középvállalkozások igényeire lett tervezve, figyelembe véve a költségeket.
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
Akkor lehet, hogy valami fogalmi képzavar esete forog fenn nálam, vagy nem vágom,
de az alábbi példaprogram jól szemlélteti a dinamikus memóriafoglalást, amire gondoltam, itt az eredeti tömbből egy új tömbbe gyűjti az eredeti tömbben szereplő, átlag alatti számokat, és pont akkora memóriát foglalunk le az új tömbnek, amennyire szükség van, nem többet, nem kevesebbet:#include <stdio.h>
#include <stdlib.h>
double *atlagalatt(double tomb[], int meret, int *ujmeret){
double *ujtomb;
int i, db, to;
double szum, atlag;
/* mi az atlag */
szum=0;
for (i=0; i<meret; ++i)
szum+=tomb[i];
atlag=szum/meret;
/* hany olyan van */
db=0;
for (i=0; i<meret; ++i)
if (tomb[i]<atlag)
db++;
/* foglalas es paranoia */
ujtomb=(double*)malloc(db*sizeof(double));
if (!ujtomb) {
*ujmeret=0;
return NULL;
}
/* masolas */
to=0;
for (i=0; i<meret; ++i)
if (tomb[i]<atlag)
ujtomb[to++]=tomb[i];
*ujmeret=db;
return ujtomb;
}
int main(){
double eredeti[100];
double *uj;
int ujmeret;
int i;
for (i=0; i<100; ++i)
eredeti[i]=rand()%100/10.0;
uj=atlagalatt(eredeti, 100, &ujmeret);
for (i=0; i<ujmeret; ++i)
printf("%4.2g ", uj[i]);
free(uj);
}Szerk.: Forrás: [link]
Sőt, ha már linkeltem, itt látható a 4-es feladatban a futásidőben történő memóriafoglalás:
#include <stdio.h>
#include <stdlib.h>
char ** darabol(char *s,char *m,int *db){
int n=0,i,last=0;
char **p;
// szavak számolása
for(i=0;s[i]!=0;i++){
int j;
for(j=0; m[j]!=0 && s[i]!=m[j]; j++);
if(m[j]!=0 && i!=last){
n++;
last=i+1;
}
}
p=(char**)malloc(n*sizeof(char*));
if(p==NULL)exit(-1);
for(i=n=last=0;s[i]!=0;i++){
int j;
for(j=0; m[j]!=0 && s[i]!=m[j]; j++);
if(m[j]!=0 && i!=last){
p[n]=(char*)malloc(i-last+1);
if(p[n]==NULL)exit(-1);
for(j=last;j<i;j++)p[n][j-last]=s[j];
p[n][j-last]=0;
n++;
last=i+1;
}
}
*db=n;
return p;
}
int main(int db,char ** par){
FILE * fp;
char sor[1025];
int meret;
if(db<3)return -1;
fp=fopen(par[1],"rt");
if(fp==NULL)return -1;
while(fgets(sor,1025,fp)!=NULL){
char **p=darabol(sor,par[2],&meret);
while(meret--)free(p[meret]);
free(p);
}
}[ Szerkesztve ]
Sk8erPeter
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Zenelejátszó építése, a kiváló hangzásért
- Sarokba szorította a Huawei az Apple-t Kínában
- Samsung Galaxy Fit 3 - keveset, de jól
- Egyszerűsíti termékportfólióját a HP
- Milyen belső merevlemezt vegyek?
- Politika
- Xiaomi Mi 9 - egy híján
- Gitáros topic
- Autós topik látogatók beszélgetős, offolós topikja
- Jövedelem
- További aktív témák...
- 2 év gari: Olcsó DDR5 PC/I5 12400F/16GB/500GB M2/Suprim X RTX 3070/Futár is
- -70% HP EliteBook 850 G7:i7 10610U,32GB RAM,512GB SSD,15.6" FHD,vil.MAGYAR numeri.bill,WWAN 4G,Win11
- ASUS TUF Gaming GeForce RTX 4070 Ti 12GB
- Hama Ultraslim Fali konzol (TV)
- ÉRKEZETT Legújabb Bontatlan Új M2 IPAD PRO 2022 12,9 128GB - 256GB Wi-Fi Azonnal DEÁK TÉRNÉL Átvehe
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen