Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Il primo Micro RGB di Samsung per il salotto è il 65 pollici da 2.749 euro. Sul banco di misura abbiamo rilevato 2.000 nit di picco, nero assoluto con il local dimming e il 91,4% del BT.2020, il colore più ampio che abbiamo misurato su un LCD
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
Apple ha rinnovato iPhone 18 Pro soprattutto dentro: chip A20 Pro a 2 nm con memoria affiancata al SoC, camera di vapore tre volte più ampia, Dynamic Island più piccola del 25% grazie a Face ID sotto il display e fotocamera principale con diaframma variabile da f/1.48 a f/4. Lo abbiamo misurato al colorimetro e nei benchmark, usato con iOS 27 e messo alla prova in fotografia tra laghi, borghi e interni poco illuminati
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
A Londra, per il trentennale dei Toughbook, Panasonic ha presentato il tablet G3 e il 2-in-1 34. Con Jon Tucker, a capo dell'ingegneria europea, abbiamo parlato di ciò che non si vede: batterie, antenne, porte seriali e accorgimenti nati sul campo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 27-02-2007, 19:42   #1
supermario
Senior Member
 
L'Avatar di supermario
 
Iscritto dal: Oct 2001
Messaggi: 7908
[c] Funzioni e Rand

Ciao

come mai non riesco a generare dei veri numeri casuali grazie a questo codice??

Codice:
#include <stdio.h>
#include <stdlib.h>
#define DIM 6

int mario[DIM];
int vetmario[90];
void genera(int*);
void scrivi();
void ordina(int*, int);
int main()
{

    int t;
    for (t=0; t<=20;t++)
    {
    genera(mario);
    ordina(mario, DIM);
    scrivi();
    printf("\n");
    }

	return 0;
}
void genera (int* Array)
{
    int p, k;
    int seed;
    for(p=0;p<= DIM;p++)
    {
         for (k=0;k<=seed;k++)
    {
        srand(time(NULL));
         vetmario[k]= rand()%seed;
    }

    mario[p] = vetmario[k-1];
    }
}
void scrivi()
{
    int k;
    for (k=0;k<=DIM;k++)
    {
        printf("%d ", mario[k]);
    }
}
void ordina(int* Array, int elemN)
{
            int i, tmp, ultimo;
            int alto = (elemN - 1);
            while (alto >= 0)
                {
                    ultimo = -1;
                    for (i=0; i<alto; i++)
                        if (mario[i]>mario[i+1])
                            {
                                tmp = mario[i];
                                mario[i] = mario[i+1];
                                mario[i+1] = tmp;
                                ultimo = i;
                            }
                    alto = ultimo;
                }

}
il problema dovrebbe stare nella funzione genera...qualcuno mi sa dare una mano?


ps, il programma è efficiente o potrebbe essere migliorato?

Grazie per l'aiuto
supermario è offline   Rispondi citando il messaggio o parte di esso
Old 27-02-2007, 19:45   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
srand() va chiamato solamente 1 volta all'inizio del programma.
__________________
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 27-02-2007, 19:50   #3
supermario
Senior Member
 
L'Avatar di supermario
 
Iscritto dal: Oct 2001
Messaggi: 7908
ho spostato srand nel main e modificato la void genera in questo modo

Codice:
void genera (int* Array)
{
    int p, k;
    int seed = 90;
    srand(seed);
    for(p=0;p<= DIM;p++)
    {
         for (k=0;k<=seed;k++)
    {

        vetmario[k]= rand()%90;
    }

    mario[p] = vetmario[k-1];
    }
}

ma mi genera 20 righe uguali...


edit: ora funzia, mi sono dimenticato di cancellare l'srand dalla funzione
supermario è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura Samsung Micro RGB R95H, il primo LCD a LED rossi...
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre iPhone 18 Pro: la recensione del miglior iPhone ...
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34 Panasonic, 30 anni di Toughbook: la "Bibbia...
realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione realme C100x, lo smartphone economico con la bat...
Star Wars Zero Company è l'erede di XCOM 2 Star Wars Zero Company è l'erede di XCOM ...
Il Dipartimento della Guerra USA pensa a...
SpaceX ha lanciato le missioni Crew-13, ...
DJI Avata 2 in offerta Prime: drone FPV ...
Microsoft vuole far agire l'IA prima anc...
Ginga porta il monitoraggio delle perfor...
Tesla sorprende Wall Street: 486.532 con...
Cosa succede alle ossa degli astronauti ...
AgriEuro Premium Days: il 6 e 7 ottobre ...
259 euro per 2 TB di SSD PCIe 4.0 (Biwin...
GPT-6 Astra decifra dopo 217 anni una le...
Roborock Saros 20 Neo: pulisce al meglio...
Samsung Galaxy S27 Ultra, nuove conferme...
Offerte Prime Candy: lavatrice ProWash 3...
Tegola su Anthropic, gli agenti AI valgo...
E-bike in carbonio con un prezzo assurdo...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 00:36.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v