Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Il nuovo top di gamma vivo punta su un comparto fotografico particolarmente articolato, con un teleobiettivo da 200 megapixel e teleconvertitori esterni capaci di arrivare a 400 mm equivalenti. Lo abbiamo provato a Tenerife, mettendo alla prova fotocamere, prestazioni, autonomia e accessori. Ecco come si è comportato.
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
In tre giorni a Las Vegas Oracle ha presentato agenti che eseguono il lavoro, l'alleanza con OpenAI e un cloud aperto agli acceleratori di tutti. Ma i clienti europei chiedono garanzie prima ancora delle funzionalità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-07-2013, 09:12   #1
mikael_c
Member
 
Iscritto dal: Dec 2008
Città: italia
Messaggi: 80
correzione programma in C

ho scritto questa semplice permutazione però non mi funziona perchè manca qualcosa nel codice e non sono molto pratico di C. mia aiutate a farlo funzionare???

#include <assert.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>

/*genera tutte le permutazioni sui valori 0,1,...,n-1,
inizialmente k = -1 e val[i] = 0, per 0=i<n.
prec: vett != NULL && val != NULL;
*postc: stampa a video tutte le permutazioni su 0,1,...,n-1, memorizzate in vett.*/

//vett=un parametro di tipo vettore,di interi per la permutazione//
//n= Un parametro di tipo intero per la lunghezza del vettore vett//
//k=un parametro di tipo intero per la posizione corrente nella permutazione//
//val=un parametro di tipo vettore di interi per i valori già usati//

void genTPerm(int *vett,int k,int *val,unsigned int n){
int i;
if (k == n - 1){
stampaVett(vett,n);
}else{

for(i=0;i<n;i++){
if (val[i] == 0){
vett[k+1] = i;
val[i] = 1;
genTPerm(vett,k+1,val,n);
val[i] = 0;
}
}
}
}


int main(void){
int i;
int vett[i];


genTPerm(vett,-1,0, 3);

}
mikael_c è offline   Rispondi citando il messaggio o parte di esso
Old 10-07-2013, 09:51   #2
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Codice:
#include <assert.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>

/*genera tutte le permutazioni sui valori 0,1,...,n-1, inizialmente k = -1 e val[i] = 0, per 0=i<n.
prec: vett != NULL && val != NULL;
 *postc: stampa a video tutte le permutazioni su 0,1,...,n-1, memorizzate in vett.*/

//vett=un parametro di tipo vettore,di interi per la permutazione//
//n= Un parametro di tipo intero per la lunghezza del vettore vett//
//k=un parametro di tipo intero per la posizione corrente nella permutazione//
//val=un parametro di tipo vettore di interi per i valori già usati//

void stampaVett(int *vett, int n)
{
	for (int i = 0; i < n; i++)
	{
		printf ("%d ", vett[i]);
	}
	printf("\n");
}

void genTPerm(int *vett,int k,int *val, int n)
{
    int i;
    if (k == n - 1)
    {
        stampaVett(vett,n);
    }
    else
    {
        for(i=0; i<n; i++)
        {
            if (val[i] == 0)
            {
                vett[k+1] = i;
                val[i] = 1;
                genTPerm(vett,k+1,val,n);
                val[i] = 0;
            }
        }
    }
}


int main(void)
{
	int vett[5];
	int val[5] = {0, 0, 0, 0, 0};


    genTPerm(vett,-1, val, 5);
	printf ("Fine permutazioni\n");

}
Comunque si puo' migliorare...
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2013, 10:19   #3
mikael_c
Member
 
Iscritto dal: Dec 2008
Città: italia
Messaggi: 80
correzione programma in C

come faccio a farlo funzionare se scritto in questo modo:
#include <assert.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>

/* Correzione */

/*
VARIABILI GLOBALI:
n
nChr = numero di permutazioni alcolate (inizialmente 0)
Chr = permutazione
Chr1 = permutazione inversa (Chr1[i] = n equivale ad elemento di permutazione non definito
(se Chr[i]=j, allora Chr1[i]=j)
Succ = risposta della procedura genTPerm (inizialmente 1)
*/

void genTPerm(int k)
{
int i;

if(k>n-1)
{
stampaVett(Chr);
/* verifica se la soluzione trovata è un ciclo: se si succ=1 e termina genTPerm */
nChr++;
if(nChr>n*n)
{Succ=0;
/* Termina la procedura ricorsiva */
}
}
else
for(i=0;i<n;i++)
{if(Chr1[i]==n)
{Chr[k]=i;
Chr1[i]=k;
genTPerm(k+1);
Chr1[i]=n;
Chr[k]=n;
}
}
}
}
int main(){
}
mikael_c è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2013, 16:40   #4
mikael_c
Member
 
Iscritto dal: Dec 2008
Città: italia
Messaggi: 80
correzione programma in C

ho provato ad aggiustare la prima parte del codice viene eseguito però secondo me è sballato ho fatto qualche errore nelle variabili globali e nel main ed inoltre manca (/* verifica se la soluzione trovata è un ciclo: se si succ=1 e termina genTPerm */).
Codice:
#include <stdlib.h>
#include <stdio.h>
#include <time.h>

/* Correzione */

/*
VARIABILI GLOBALI:
  n 
  nChr = numero di permutazioni alcolate (inizialmente 0)
  Chr = permutazione 
  Chr1 = permutazione inversa (Chr1[i] = n equivale ad elemento di permutazione non definito
  (se Chr[i]=j, allora Chr1[i]=j)
  Succ = risposta della procedura genTPerm (inizialmente 1)
*/
int Chr[2];  
int   Chr1[2]; 
 int  nChr=0;
 int Succ=1;
 int n;
 
void genTPerm(int k)
 {
  int i;
  
  if(k>n-1)
   {
   printf("%d",Chr);
printf("\n");
    /* verifica se la soluzione trovata è un ciclo: se si succ=1 e termina genTPerm */
    nChr++;
    if(nChr>n*n)
     {
       Succ=0;
       return ;
     }
   }
  else
   for(i=0;i<n;i++)
    {if(Chr1[i]==n)
      {Chr[k]=i;
       Chr1[i]=k;
       genTPerm(k+1);
       Chr1[i]=n;
       Chr[k]=n;
       }
      }
    }

int  main(){
  
genTPerm(2);
 
   return 0;
     }
mikael_c è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista Recensione vivo X500 Pro Max: la fotografia mobi...
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Cupra Raval sfida BMW, Volvo e le altre:...
BYD supera per la prima volta le 300.000...
Crisi RAM, spunta un prezzo incredibile ...
Ginux, un nuovo kernel compatibile con L...
Gemini Notebook si aggiorna: arrivano i ...
Svolta per l'emulazione della prima Xbox...
Narwal celebra 10 anni: l'evoluzione tec...
TIM Enterprise acquisisce il 70% di VoiS...
Altro che dicembre, la RTX 5080 da 24 GB...
Quale futuro per Mass Effect? Tutte le i...
Schermi rotti su iPhone Duo: un report s...
Lo stealer VOLTA chiede a Claude, Kimi e...
Intel e Oracle puntano sulle CPU Xeon pe...
Offerte Amazon da urlo: Mac mini M6 a 89...
Bici elettriche a prezzi da record su Am...
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: 16:06.


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