[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
[an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]![]() |
![]() |
![]() |
|||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
![]() |
![]() |
![]() |
Anders Søndergaard <sslug@sslug> writes:Jeg har lavet to eksempler på en lidt mere rationel funktion. Jeg er vant til C++, så jeg kender ikke realloc-syntaksen - den er råkopieret. Derudover bruger jeg kvadratrod, som skal inkluderes et eller andet sted fra. Måske fra <math.h>?
Hov før søren, jeg har glemt at poste funktionen! Det må i undskylde.
Har du overvejet at koden egentlig ikke er ret læsevenlig? (Meget af det følgende er selvfølgelig i høj grad bare min mening)
- Når du bliver nødt til at forklare hvad dine etbogstavsvariable står for, så overvej om navnene er velvalgte.
- Indrykning
- Engelsk funktionsnavn, men danske variabelnavne
- Din løkke-variabel kalder du f, jeg ville kalde den i og så kalde
den variabel du kalder i noget andet.
- en for-løkke er mere konventionel i C
med realloc-rettelse kunne det se således ud:
/* * Find naturlige tal der går op i et givet tal. * Inddata: * int *p[] - pointer til et array af heltal. * int tal - tallet der skal findes divisore til * Uddata: * int count - antallet af tal i arrayet efter funktionen */
int find_numbers(int *p[], int number) { int count = 0;
int s = number;
for(int i = 1; i <= tal; i++) {
if (s*i == number) {
// printf("%i\n",f); /* debug-information */
*p = (int *) realloc(p, (count + 1) * sizeof(int));
*p[count] = f;
}
s = number / (i+1); // Ehhh??? }
return count; }
-- ------------------------------------------------------------------------
Fax +45 89 49 60 04 Email sslug@sslug <mailto:sslug@sslug> Address MR-Center - Aarhus University Hospital Skejby Sygehus Brendstrupgaardsvej Dk-8200 Aarhus N Denmark
![]() |
![]() |
![]() |
||||||||||||
|
||||||||||||||
![]() | ||||||||||||||
|
||||||||||||||
![]() |
![]() |
![]() |