Aiuto programma parallele

di il
14 risposte

Aiuto programma parallele

Ciao a tutti cercavo un forum per aiuto e ho trovato questo...
Non so se c'è bisogno di presentarsi ma non ho trovato la sezione per ora
Comunque io dovrei fa funzionare questo programma che in pratica mi calcola i coefficienti di due rette e deve dirmi se sono parallele oppure no..
Due cose necessarie devono esservi presenti nel programmino:
1)Valore sentinella -1 all'inizio
2)Una funzione che calcoli i coefficienti
Ora credo di aver impostato male la funzione, comunque se è possibile potete aggiustarmelo senza cambiare tutto? tnx in anticipo
(ah comunque uso orwell dev c++ ma non dovrebbe essere un problema)
#include <stdio.h>

int coefficiente(int Mxl, int Myl, int Nxl, int Nyl);


int main(void)
{
	int coefficiente;
	int Mx,My,Nx,Ny,Px,Py,Qx,Qy;
	int sentinella;
	
	printf("Vuoi verificare il parallelismo di \n");
	printf("due rette? (inserire -1 per uscire)\n");
   
	scanf("%d", &sentinella);

	while (sentinella != -1){
		printf ("inserire le coordinate del punto M:");
		scanf ("%d%d", &Mx, &My);
		
		printf ("inserire le coordinate del punto N:");
		scanf ("%d%d", &Nx, &Ny);
		
		
		
		printf ("inserire le coordinate del punto P:");
		scanf ("%d%d", &Px, &Py);
		
		printf ("inserire le coordinate del punto Q:");
		scanf ("%d%d", &Qx, &Qy);
	
	
		coefficiente=coefficiente1(Mx, My, Nx, Ny);
    	coefficiente=coefficiente2(Px, Py, Qx, Qy);
    	
		
		if (coefficiente1 == coefficiente2) {
			printf("le rette sono parallele\n");
		}
	
		else printf ("le due rette non sono parallele\n");
	

	}

return 0;
}

int coefficiente(int Mxl, int Myl, int Nxl, int Nyl)
{
	int coefficiente_locale;
	coefficente_locale=(float) (Myl - Nyl) / (Mxl - Nxl);
	return coefficente_locale;
}

14 Risposte

  • Re: Aiuto programma parallele

    potete aggiustarmelo senza cambiare tutto?
    Mica è un negozio di sartoria questo ...

    Dicci qual è il problema e vediamo di risolverlo insieme, ovvero ti diamo dei consigli e tu riscrivi il codice corretto ...
  • Re: Aiuto programma parallele

    oregon ha scritto:


    potete aggiustarmelo senza cambiare tutto?
    Mica è un negozio di sartoria questo ...

    Dicci qual è il problema e vediamo di risolverlo insieme, ovvero ti diamo dei consigli e tu riscrivi il codice corretto ...
    Scusate: il programma mi da diversi errori quando lo compilo...
  • Re: Aiuto programma parallele

    ultrasound91 ha scritto:


    Hai scritto due volte coefficiente senza la i.
    Per utilizzare le variabili coefficiente 1 e 2 devi prima dichiararle e poi a queste assegni il valore restituito dalla funzione coefficiente. Tu hai fatto il contrario.

    Non credo di aver capito... potresti fare un esempio o correggerlo?
  • Re: Aiuto programma parallele

    Wollerino ha scritto:


    Scusate: il programma mi da diversi errori quando lo compilo...
    In queste righe perché hai scritto in quel modo ?

    coefficiente=coefficiente1(Mx, My, Nx, Ny);
    coefficiente=coefficiente2(Px, Py, Qx, Qy);
  • Re: Aiuto programma parallele

    Wollerino ha scritto:


    ultrasound91 ha scritto:


    Hai scritto due volte coefficiente senza la i.
    Per utilizzare le variabili coefficiente 1 e 2 devi prima dichiararle e poi a queste assegni il valore restituito dalla funzione coefficiente. Tu hai fatto il contrario.

    Non credo di aver capito... potresti fare un esempio o correggerlo?
    Va bene cosi? oppure ho peggiorato la situazione?Xd
    #include <stdio.h>
    
    int coefficiente(int Mxl, int Myl, int Nxl, int Nyl);
    
    
    int main(void)
    {
       int coefficiente;
       int coefficiente1;
       int coefficiente2;
       int Mx,My,Nx,Ny,Px,Py,Qx,Qy;
       int sentinella;
       
       printf("Vuoi verificare il parallelismo di \n");
       printf("due rette? (inserire -1 per uscire)\n");
       
       scanf("%d", &sentinella);
    
       while (sentinella != -1){
          printf ("inserire le coordinate del punto M:");
          scanf ("%d%d", &Mx, &My);
          
          printf ("inserire le coordinate del punto N:");
          scanf ("%d%d", &Nx, &Ny);
          
          
          
          printf ("inserire le coordinate del punto P:");
          scanf ("%d%d", &Px, &Py);
          
          printf ("inserire le coordinate del punto Q:");
          scanf ("%d%d", &Qx, &Qy);
       
       
          coefficiente=coefficiente1(Mx, My, Nx, Ny);
          coefficiente=coefficiente2(Px, Py, Qx, Qy);
           
          
          if (coefficiente1 == coefficiente2) {
             printf("le rette sono parallele\n");
          }
       
          else printf ("le due rette non sono parallele\n");
       
    
       }
    
    return 0;
    }
    
    int coefficiente(int Mxl, int Myl, int Nxl, int Nyl)
    {
       int coefficiente_locale;
       coefficiente_locale=(float) (Myl - Nyl) / (Mxl - Nxl);
       return coefficiente_locale;
    }
    
    Ecco lgi errori:
    In function 'int main()':
    35 48 [Error] 'coefficiente1' cannot be used as a function
    36 48 [Error] 'coefficiente2' cannot be used as a function
  • Re: Aiuto programma parallele

    ultrasound91 ha scritto:


    Da qualche parte nel codice hai scritto coefficiente senza la i.
    Rimedia e vedrai che gli errori diminuiranno.
    Per assegnare un valore alla variabile coefficiente1 questa deve stare a sinistra dell'=.
    Tu l'hai messa a destra. Inoltre non l'hai dichiarata.
    #include <stdio.h>
    
    int coefficiente(int Mxl, int Myl, int Nxl, int Nyl);
    
    
    int main(void)
    {
       int coefficiente;
       int coefficiente1;
       int coefficiente2;
       int Mx,My,Nx,Ny,Px,Py,Qx,Qy;
       int sentinella;
       
       printf("Vuoi verificare il parallelismo di \n");
       printf("due rette? (inserire -1 per uscire)\n");
       
       scanf("%d", &sentinella);
    
       while (sentinella != -1){
          printf ("inserire le coordinate del punto M:");
          scanf ("%d%d", &Mx, &My);
          
          printf ("inserire le coordinate del punto N:");
          scanf ("%d%d", &Nx, &Ny);
          
          
          
          printf ("inserire le coordinate del punto P:");
          scanf ("%d%d", &Px, &Py);
          
          printf ("inserire le coordinate del punto Q:");
          scanf ("%d%d", &Qx, &Qy);
       
       
          coefficiente1=coefficiente(Mx, My, Nx, Ny);
          coefficiente2=coefficiente(Px, Py, Qx, Qy);
           
          
          if (coefficiente1 == coefficiente2) {
             printf("le rette sono parallele\n");
          }
       
          else printf ("le due rette non sono parallele\n");
       
    
       }
    
    return 0;
    }
    
    int coefficiente(int Mxl, int Myl, int Nxl, int Nyl)
    {
       int coefficiente_locale;
       coefficiente_locale=(float) (Myl - Nyl) / (Mxl - Nxl);
       return coefficiente_locale;
    }
    
  • Re: Aiuto programma parallele

    oregon ha scritto:


    Wollerino ha scritto:


    Scusate: il programma mi da diversi errori quando lo compilo...
    In queste righe perché hai scritto in quel modo ?

    coefficiente=coefficiente1(Mx, My, Nx, Ny);
    coefficiente=coefficiente2(Px, Py, Qx, Qy);
    Per assegnare il primo coefficiente calcolato a coefficiente1 e il secondo calcolo per il coefficiente2
    perchè poi deve fare il confronto tra i due
    if (coefficiente1 == coefficiente2) {
    printf("le rette sono parallele\n");
    }
  • Re: Aiuto programma parallele

    Wollerino ha scritto:


    oregon ha scritto:


    Wollerino ha scritto:


    Per assegnare il primo coefficiente calcolato a coefficiente1 e il secondo calcolo per il coefficiente2
    Ma in C si assegna quello che sta a destra a quello che sta a sinistra ... quindi hai scritto al contrario.
  • Re: Aiuto programma parallele

    Ma in C si assegna quello che sta a destra a quello che sta a sinistra ... quindi hai scritto al contrario.[/quote]

    Ok ma non mi funziona...
    #include <stdio.h>
    
    int coefficiente(int Mxl, int Myl, int Nxl, int Nyl);
    
    
    int main(void)
    {
       int coefficiente;
       int coefficiente1;
       int coefficiente2;
       int Mx,My,Nx,Ny,Px,Py,Qx,Qy;
       int sentinella;
       
       printf("Vuoi verificare il parallelismo di \n");
       printf("due rette? (inserire -1 per uscire)\n");
       
       scanf("%d", &sentinella);
    
       while (sentinella != -1){
          printf ("inserire le coordinate del punto M:");
          scanf ("%d%d", &Mx, &My);
          
          printf ("inserire le coordinate del punto N:");
          scanf ("%d%d", &Nx, &Ny);
          
          
          
          printf ("inserire le coordinate del punto P:");
          scanf ("%d%d", &Px, &Py);
          
          printf ("inserire le coordinate del punto Q:");
          scanf ("%d%d", &Qx, &Qy);
       
          coefficiente1=coefficiente(Mx, My, Nx, Ny);
          coefficiente2=coefficiente(Px, Py, Qx, Qy);
           
          
          if (coefficiente1 == coefficiente2) {
             printf("le rette sono parallele\n");
          }
       
          else printf ("le due rette non sono parallele\n");
       
    
       }
    
    return 0;
    }
    
    int coefficiente(int Mxl, int Myl, int Nxl, int Nyl)
    {
       int coefficiente_locale;
       coefficiente_locale=(float) (Myl - Nyl) / (Mxl - Nxl);
       return coefficiente_locale;
    }
  • Re: Aiuto programma parallele

    Cerchiamo di capirci ... ad ogni correzione se dici "non mi funziona" solamente senza riportare l'errore, non ne usciamo e non risolvi mai ...

    E comunque ... all'inizio scrivi

    int coefficiente;

    ma non esiste alcuna variabile che si chiama coefficiente, semmai è una funzione, quindi quella riga non ha senso.
  • Re: Aiuto programma parallele

    oregon ha scritto:


    Cerchiamo di capirci ... ad ogni correzione se dici "non mi funziona" solamente senza riportare l'errore, non ne usciamo e non risolvi mai ...

    E comunque ... all'inizio scrivi

    int coefficiente;

    ma non esiste alcuna variabile che si chiama coefficiente, semmai è una funzione, quindi quella riga non ha senso.
    Bhe almeno mi sei stato di aiuto e ti ringrazio per questo... ho levato int coefficiente e ora non da errori.. speriamo che però mi calcoli i coefficienti
  • Re: Aiuto programma parallele

    Wollerino ha scritto:


    Bhe almeno mi sei stato di aiuto
    Meno male che lo hai notato ...
  • Re: Aiuto programma parallele

    oregon ha scritto:


    Wollerino ha scritto:


    Bhe almeno mi sei stato di aiuto
    Meno male che lo hai notato ...
    Scusa ma credo di non aver fatto nulla di male... Stiamo sereni....
    Grazie ancora.... ho verificato se funziona con le rette parallele e per ora funziona
  • Re: Aiuto programma parallele

    Scusa ma credo di non aver fatto nulla di male...


    E chi ha mai detto il contrario?
    Stiamo sereni....
    Io sono serenissimo ...

    Visto che tutto funziona meglio così ...
Devi accedere o registrarti per scrivere nel forum
14 risposte