Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è uno smartphone che unisce una fotocamera molto più versatile rispetto al passato grazie allo zoom ottico 5x, il supporto magnetico Pixelsnap e il nuovo chip Tensor G5. Il dispositivo porta Android 16 e funzionalità AI avanzate come Camera Coach, mantenendo il design caratteristico della serie Pixel con miglioramenti nelle prestazioni e nell'autonomia. In Italia, però, mancano diverse feature peculiari basate sull'AI.
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
L'abbonamento Ultimate di GeForce NOW ora comprende la nuova architettura Blackwell RTX con GPU RTX 5080 che garantisce prestazioni tre volte superiori alla precedente generazione. Non si tratta solo di velocità, ma di un'esperienza di gioco migliorata con nuove tecnologie di streaming e un catalogo giochi raddoppiato grazie alla funzione Install-to-Play
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Deebot X11 Omnicyclone implementa tutte le ultime tecnologie Ecovacs per l'aspirazione dei pavimenti di casa e il loro lavaggio, con una novità: nella base di ricarica non c'è più il sacchetto di raccolta dello sporco, sostituito da un aspirapolvere ciclonico che accumula tutto in un contenitore rigido
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 20-04-2011, 12:23   #1
I24Zi3L
Senior Member
 
Iscritto dal: Mar 2005
Messaggi: 497
[C#] Programma combinazioni con 80 numeri in gruppi di 5

Salve, volevo chiedervi dei suggerimenti su come fare un programma che mi generi tutte le combinazioni con i numeri da 1 a 80 in gruppi da 5.

Grazie per l'aiuto.
I24Zi3L è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2011, 22:01   #2
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da I24Zi3L Guarda i messaggi
Salve, volevo chiedervi dei suggerimenti su come fare un programma che mi generi tutte le combinazioni con i numeri da 1 a 80 in gruppi da 5.

Grazie per l'aiuto.
Intanto prova a dirci quante sono.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 25-04-2011, 09:12   #3
I24Zi3L
Senior Member
 
Iscritto dal: Mar 2005
Messaggi: 497
Ho fatto un piccolo Windows Form con un bottone ed una textbox e questo codice nella pagina cs:
Codice:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Collections;

namespace Combinazioni
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            int A = 1;
            int B = 2;
            int C = 3;
            int D = 4;
            int E = 5;

            do
            {
                if (A != B &&
                    A != C &&
                    A != D &&
                    A != E)
                {
                    if (B != C &&
                        B != D &&
                        B != E)
                    {
                        if (C != D &&
                            C != E)
                        {
                            if (D != E)
                            {
                                textBox1.Text += A + " - " +
                                                 B + " - " +
                                                 C + " - " +
                                                 D + " - " +
                                                 E + "\n";
                            }
                        }
                    }
                }

                if (E == 80)
                {
                    E = 5;
                    D++;

                    if (D == 80)
                    {
                        E = 5;
                        D = 4;
                        C++;
                    }
                    if (C == 80)
                    {
                        E = 5;
                        D = 4;
                        C = 3;
                        B++;
                    }
                    if (B == 80)
                    {
                        E = 5;
                        D = 4;
                        C = 3;
                        B = 2;
                        A++;
                    }
                }

                E++;

            }
            while (A != 77);

        }
    }
}
Vi sembra corretto?
Il mio PC è da oramai 4 ore che elabora i dati di questo programma. E' forse andato in loop?
I24Zi3L è offline   Rispondi citando il messaggio o parte di esso
Old 25-04-2011, 10:16   #4
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Quote:
Originariamente inviato da I24Zi3L Guarda i messaggi
Vi sembra corretto?
ma neanche per idea... cominciamo dal principio: come gugoXX ha già suggerito.... quante possono essere le combinazioni?
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 25-04-2011, 10:24   #5
I24Zi3L
Senior Member
 
Iscritto dal: Mar 2005
Messaggi: 497
Quasi quante quelle del superenalotto...
I24Zi3L è offline   Rispondi citando il messaggio o parte di esso
Old 25-04-2011, 10:27   #6
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Quote:
Originariamente inviato da I24Zi3L Guarda i messaggi
Quasi quante quelle del superenalotto...
si ma quante...come si contano le combinazioni di un insieme di n elementi a gruppi di k
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 25-04-2011, 10:36   #7
I24Zi3L
Senior Member
 
Iscritto dal: Mar 2005
Messaggi: 497
Beh dovrebbe essere 80!/5!(75!)=24040016
I24Zi3L è offline   Rispondi citando il messaggio o parte di esso
Old 25-04-2011, 11:28   #8
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Ti propongo un algoritmo ricorsivo

Codice:
funzione(array di appoggio, indice, n, k, DA){
    maxIndex = indice + n - k;
    for i = DA to maxIndex 
        appoggio[i] = i
        se indice < k-1
            funzione(array, indice + 1, n, k, j + 1)
indice è un indice che scorre tutti i numeri che ti servono a te e parte da 0
n = 80 nel tuo caso
k = 5 nel tuo caso
DA parte da zero ed è l'indice dell'array temporaneo

ho volutamente omesso molte cose ma il succo è:
1) - per ogni cella dell'array di appoggio tu puoi inserire numeri che partono da DA fino a maxIndex
2) - ad ogni iterazione chiami la funzione stessa incrementando l'indice dell'array temporaneo

prendi carta e penna e prova a eseguire l'algoritmo con pochi numeri...
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 25-04-2011, 22:20   #9
I24Zi3L
Senior Member
 
Iscritto dal: Mar 2005
Messaggi: 497
Scusami ma non riesco ad interpretare bene l'algoritmo che mi proponi.
In che linguaggio è?
I24Zi3L è offline   Rispondi citando il messaggio o parte di esso
Old 25-04-2011, 23:22   #10
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Non è in nessun linguaggio...è in pseudocodice
Ammetto di averlo scritto frettolosamente ma non è difficile da capire.. prova con carta e penna a simularlo magari con numeri fino a 5 presi a gruppi di 3 o 4
clockover è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy? Google Pixel 10 è compatto e ha uno zoom ...
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre Prova GeForce NOW upgrade Blackwell: il cloud ga...
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
Amazon fa impazzire i prezzi: ecco i 5 s...
iOS 26 arriva oggi: 8 motivi per aggiorn...
VMSCAPE, nuova variante Spectre: vulnera...
Meta Quest 3 da 512 GB scende ancora: or...
Xiaomi lancia un nuovo e-reader con Andr...
iPhone 16e a meno di 600€ su Amazon: l'a...
NVIDIA arruola Colin King: Intel perde u...
GeForce RTX 6090: Rubin CPX potrebbe ess...
Iliad: si consolida la partnership tecno...
Il SoC a 2 nm di Samsung non sfigura nel...
Prezzo shock per i Galaxy Buds FE + nuov...
Il nuovo SoC di Qualcomm vuole stupire: ...
Offerta lampo per pulire l'auto: aspirap...
I robotaxi di Amazon entrano in azione: ...
ECOVACS DEEBOT T50 PRO OMNI Gen2 domina ...
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: 09:03.


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