hai ragione chiedo scusa e il bello è che lo sapevo anche inserire O_o
me ne sono dimenticata all'ultimo sorry
codice:
#include <stdio.h>
#include <stdbool.h>
#include <math.h>
#include <stdlib.h>
#include <conio.h>
#define MAXNC 600
#define MAXNF 600
#define MAXR 1200
void print_tab(unsigned char tab[],int size_tab)
{ int i;
for(i=0;i<size_tab;i++)
printf("%d",tab[i]);
printf("\n");
}
void permute(unsigned char tab[],unsigned char i,unsigned char j)
{
unsigned char c;
c=tab[i];
tab[i]=tab[j];
tab[j]=c;
}
void combin(unsigned char tab[],int i, int size_tab)
{
unsigned char j;
if (i==size_tab)
{
print_tab(tab,size_tab);
}
else
for(j=i;j<size_tab;j++)
{
permute(tab,i,j);
combin(tab,i+1,size_tab);
permute(tab,i,j);
}
}
void main()
{
float alfa;
int valorec[MAXNC], valoref[MAXNF], i, nc, nf;
int valoritot[MAXR];
/*Presentazione del programma*/
printf("Gentile utente \n");
printf("Questo e' un Test di permutazione applicabile a grandi campioni \n");
printf("Questo programma vi consentira'di valutare eventuali effetti del vostro farmaco\n");
printf("su un gruppo di individui in analisi rispetto a un gruppo di controllo\n");
printf("\n\n\n");
printf(" Inserire l'errore di I tipo in forma decimale: ");
scanf("%f", &alfa);
do {
printf("\n inserire il numero di individui del gruppo di controllo: \n");
scanf("%d", &nc);
}
while(nc<1 || nc>600);
do
{
printf("\n inserire il numero di individui del gruppo di analisi del farmaco: \n");
scanf("%d", &nf);
}
while(nf<1 || nf>600);
printf("\n inserire i valori ottenuti da %d individui del gruppo di controllo \n", nc);
/*array di immissione dei valori ottenuti nel gruppo di controllo*/
for(i=0; i<nc; i++) {
printf("valore %d individuo: ", i+1);
scanf("%d", &valorec[i]);
}
printf("\n inserire i valori ottenuti dagli individui del gruppo di analisi del farmaco \n");
/*array di immissione dei valori ottenuti nel gruppo farmaco */
for(i=0; i<nf; i++) {
printf("valore %d individuo: ", i+1);
scanf("%d", &valoref[i]);
}
/*stampa dei valori inseriti dall'utente
printf("\n\n Verifca dei valori inseriti\n\n");
printf("Gruppo di controllo\n");
for(i=0; i<nc; i++) {
printf("valore %d individuo: %d \n", i+1, valorec[i]); }
printf("\n\nGruppo di analisi\n");
for(i=0; i<nc; i++) {
printf("valore %d individuo: %d \n", i+1, valoref[i]); }
getchar(); */
/* fusione dei due array */
int j,k;
i = 0; j = 0; k = 0;
do {
if(valorec[i]<=valoref[j])
valoritot[k++] = valorec[i++];
else
valoritot[k++] = valoref[j++];
}
while(i<nc && j<nf);
if(i<nc)
for(; i<nc; valoritot[k++] = valorec[i++])
;
else
for(; j<nf; valoritot[k++] = valoref[j++])
;
/* visualizzazione della fusione
for(i=0; i<k; i++)
printf("\n%d", valoritot[i]); */
int individui;
individui = nc + nf;
/* printf("individui totali: %d", individui); */
unsigned char tab[i];
for(i=0;i<individui;i++){
tab[i]=valoritot[i];
}
combin(tab,0,nf);
}