Jump to content



Προγραμματισμος σε c (συναρτηση random)


panakaigiotis

Recommended Posts

Δημοσιεύτηκε

μηπως ξερει κανεις πως μπορω να τροποποιησω στην c την παρακατω συναρτηση

int RandomInteger (int low, int high)

{int k;

double d;

d = (double)rand()/((double) RAND_MAX+1);

k = (int) (d*(hidh - low +1));

return (low +k);

}

ετσι ωστε να μου δειχνει εκτος απο αριθμους και συμβολα και γραμματα ?:...:

Η rand από μόνη της δίνει μόνο αριθμούς.

Για να γίνει αυτό που θες, πρέπει να φτιάξεις έναν πίνακα και να βάλεις μέσα όλους τους χαρακτήρες που θες. Μετά θα καλείς την rand με υπόλοιπο (%) το μέγεθος του πίνακα.

Δηλαδή, ας πούμε ότι έχεις έναν πίνακα array με το αγγλικό αλφάβητο.

ο κώδικας θα είναι:

char array[26]="abcde...";

char k = array[rand()%26];

όπου k ο τυχαίος χαρακτήρας που θες

Κατι ακομη τελευταιο στον παρακατω κωδικα ποιο ειναι το λαθος και δεν μου εμφανιζει τους τυχαιους αριθμους μετα την εκτελεση του προγραμματος

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#define N 200

int RandomInteger (int low, int high)

{

int k;

double d;

d = (double)rand()/((double) RAND_MAX+1);

k = (int) (d*(high - low +1));

return (low +k);

}

main()

{

int numbers[N];

int i , K;

srand((int)time(NULL));

do

{

printf("Dwse timh gia K: ");

scanf("%d", &K);

}while(K <= 15);

for( i = 0; i < N; i++)

{

numbers = RandomInteger(1 , K);

}

printf("%d\n", numbers);

}

:hmm:

Archived

This topic is now archived and is closed to further replies.

×
×
  • Δημιουργία...

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.