C/C++ Programma di Calcolo sul DEVC++ AIUTOOOOOOO

di il
9 risposte

C/C++ Programma di Calcolo sul DEVC++ AIUTOOOOOOO

Ciao a tutti è la prima volta che scrivo e spero davvero in un vostro aiuto, perchè sono in crisi!!!
Per domani dovrei fare un programma in C che calcoli le permutazioni, le disposizioni e combinazioni, inserendo n e k. In un secondo momento devo chiedere se si vogliono effettuare le permutazioni, le disposizioni e combinazioni con permutazioni. Io ho fatto così però non mi funziona e sto per entrare in tilt!!!!!
In pratica dove aver chiesto cosa si vuole calcolare si chiude il programma, e non so come risolvere!! Vi prego aiutatemiii
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<conio.h>
main(){
int n,k,p,c,d,pr,fn,fk,fkn,fkn1,fn1,pow,b,i,cr;
char a,risp,si,no,ff,fnk,nk,dr,potenza,fnk1;
printf("Inserisci n");
scanf("%d",&n);
printf("Inserisci k");
scanf("%d",&k);
if(n>k){
	printf("Quale operazione vuoi effettuare?\n");
	printf("Premi 'p' per calcolare le permutazioni");
	printf("\nPremi 'd' per calcolare le disposizioni");
	printf("\nPremi 'c' per calcolare le combinazioni\n");

	fflush(stdin); 
	scanf("%1s",&a); 

	if(a=='p'){
	fn=1;
	for(i=1;i<=n;i++){
		fn=i*n;
	}
	printf("vuoi calcolare anche le permutazioni con ripetizioni? si/no");
	fflush(stdin);
	scanf("%c",&risp);
	if (risp=='s'){
			fn=1;
			for(i=1;i<=n;i++){
			fn=i*n;}
			"ff";
			pr=fn/ff;
	}

	else if (a=='d'){
		fn=i;
		for(i=1;i<=n;i++){
			fn=i*n;}
		fnk=1;
		for(i=1;i<=nk;i++){
			fnk=i*nk;}
		d=fn/fnk;}
	printf("vuoi calcolare anche le disposizioni con ripetizione? si/no");
	fflush(stdin);
	scanf("%c",&risp);
	if (risp=='s')
	{
		dr=n*k;
	}
	else if (a=='c') {
			fn=1;
			for(i=1;i<=n;i++) {
					fn=i*n;}
			fnk=1;
			for(i=1;i<=nk;i++){
				nk=(i*nk);}
			fk=1;
			for(i=1;i<=k;i++){
				fk=i*k;}
				c=fn/(fnk*fk);}
	printf("vuoi calcolare anche le combinazioni con ripetizioni? si/no");
	fflush(stdin);
	scanf("%c",&risp); 
	if (risp=='s) 
	{
			b=n+k-1;
			fnk1=1;
			for(i=1;i<=b;i++){
			fnk1=i*fnk1;}
			fk=1;
			for(i=1;i<=fk;i++){
			fk=i*fk;}
			fn1=1;
			for(i=1;i<=fn1;i++){
			fn1=i*fn1;}
			cr=fnk1/(fk*fn1);}
	getch();
	}
}
}  

9 Risposte

  • Re: C/C++ Programma di Calcolo sul DEVC++ AIUTOOOOOOO

    Cos'è una sfida su chi scrive il codice più inconprensibile del mondo? Ma tu capisci cosa hai scritto oppure butti giù pensieri come gli scrittori? I commenti messi sono della tua seconda personalità? Una ne sa e l'altra scrive?
    Sai se si compila almeno?
  • Re: C/C++ Programma di Calcolo sul DEVC++ AIUTOOOOOOO

    No quei commenti li ha aggiunti un mio amico a cui non risulta neanche a lui
  • Re: C/C++ Programma di Calcolo sul DEVC++ AIUTOOOOOOO

    Non risulta cosa? Sai se si compila?
  • Re: C/C++ Programma di Calcolo sul DEVC++ AIUTOOOOOOO

    Si compila e non dà nessun errore, però poi appena inserisco n e k si chiude il programma
  • Re: C/C++ Programma di Calcolo sul DEVC++ AIUTOOOOOOO

    Questo cos'è
    
    if (risp=='s) 
    
  • Re: C/C++ Programma di Calcolo sul DEVC++ AIUTOOOOOOO

    La risposta alla domanda se si vuole calcolare anche le permutazioni con ripetizioni
  • Re: C/C++ Programma di Calcolo sul DEVC++ AIUTOOOOOOO

    E il compilatore te la fa passare? Non ti dice che c'è un errore?
    e quest'altro?
    
    "ff";
    
  • Re: C/C++ Programma di Calcolo sul DEVC++ AIUTOOOOOOO

    Il tuo codice ben formatatto, corretto ma cmq sensa senso.
    
    #include<stdio.h>
    #include<stdlib.h>
    #include<math.h>
    #include<conio.h>
    
    int main()
    {
    	int n,k,p,c,d,pr,fn,fk,fkn,fkn1,fn1,pw,b,i,cr;
    	char a,risp,si,no,ff,fnk,nk,dr,potenza,fnk1;
    
    	printf("Inserisci n");
    	scanf("%d",&n);
    	printf("Inserisci k");
    	scanf("%d",&k);
    	if(n>k)
    	{
    		printf("Quale operazione vuoi effettuare?\n");
    		printf("Premi 'p' per calcolare le permutazioni");
    		printf("\nPremi 'd' per calcolare le disposizioni");
    		printf("\nPremi 'c' per calcolare le combinazioni\n");
    
    		fflush(stdin);
    		scanf("%1s",&a);
    
    		if(a=='p')
    		{
    			fn=1;
    			for(i=1;i<=n;i++)
    			{
    				fn=i*n;
    			}
    			printf("vuoi calcolare anche le permutazioni con ripetizioni? si/no");
    			fflush(stdin);
    			scanf("%c",&risp);
    			if (risp=='s')
    			{
    				fn=1;
    				for(i=1;i<=n;i++)
    				{
    					fn=i*n;
    				}
    				pr=fn/ff;
    			}
    			else if (a=='d')
    			{
    				fn=i;
    				for(i=1;i<=n;i++)
    				{
    					fn=i*n;
    				}
    				fnk=1;
    				for(i=1;i<=nk;i++)
    				{
    					fnk=i*nk;
    				}
    				d=fn/fnk;
    			}
    			printf("vuoi calcolare anche le disposizioni con ripetizione? si/no");
    			fflush(stdin);
    			scanf("%c",&risp);
    			if (risp=='s')
    			{
    				dr=n*k;
    			}
    			else if (a=='c') 
    			{
    				fn=1;
    				for(i=1;i<=n;i++) 
    				{
    					fn=i*n;
    				}
    				fnk=1;
    				for(i=1;i<=nk;i++)
    				{
    					nk=(i*nk);
    				}
    				fk=1;
    				for(i=1;i<=k;i++)
    				{
    					fk=i*k;
    				}
    				c=fn/(fnk*fk);
    			}
    			printf("vuoi calcolare anche le combinazioni con ripetizioni? si/no");
    			fflush(stdin);
    			scanf("%c",&risp);
    			if (risp=='s')
    			{
    				b=n+k-1;
    				fnk1=1;
    				for(i=1;i<=b;i++)
    				{
    					fnk1=i*fnk1;
    				}
    				fk=1;
    				for(i=1;i<=fk;i++)
    				{
    					fk=i*fk;
    				}
    				fn1=1;
    				for(i=1;i<=fn1;i++)
    				{
    					fn1=i*fn1;
    				}
    				cr=fnk1/(fk*fn1);
    			}
    			getch();
    		}
    	}
    	return 0;
    }
    
    e come se dovessi dare un centesimo per ogni spazio che consumi.
  • Re: C/C++ Programma di Calcolo sul DEVC++ AIUTOOOOOOO

    Che succede se metti n minore o uguale a k? Il quale parte del programma c'è il codice che fa vedere su stdout il risultato del calcolo richiesto dall'utente?
Devi accedere o registrarti per scrivere nel forum
9 risposte