Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Dove sbaglio??Aiuto per programma universitario

    Ciao a tutti, ho il seguente es da fare:

    Si scriva un programma che prenda in ingresso due vettori a interi contenti uno le basi e uno gli esponenti. Generare un terzo vettore in cui ogni elemento i contenga il risultato dell'operazione di elevamento a potenza della base per l'esponente contenuti nei rispettivi i-esimi elementi dei due vettori base ed esponente.Si utilizzino le funzioni.

    io l'ho scritto così:

    #include<stdio.h>
    #include<math.h>

    int elevamento(int *base,int *esp);

    int main ()
    {
    int base [10]={0};
    int esp [10]={0};
    int ris [10];
    int i=0;

    printf("\nInserire le 10 basi >");
    for(i=0;i<10;i++)
    scanf("%d",&base[i]);
    printf("\nInserire i 10 esponenti >");
    for(i=0;i<10;i++)
    scanf("%d",&esp[i]);

    ris[10]= elevamento(base[10],esp[10]);

    for(i=0;i<10;i++)
    {
    printf("\n Vettore risultato = ( %d )", ris[i]);
    }

    return 0;
    }

    int elevamento ( int b[],int e[])
    {
    int i=0;
    int o[10]={0};
    int j=0;
    int c=0;

    for (i=0;i<10;i++)
    i=j=c;
    o[c]=pow(b[i],e[j]);
    return o;
    }

    Dove sbaglio?sono alle prime armi con sottoprogrammi e vettori...grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ho visto che hai scritto molte righe senza senso ... piuttosto che dirti errore per errore, ti posto l'intero codice rivisto ... sarai tu a renderti conto (spero)

    codice:
    #include <stdio.h>
    #include <math.h>
    
    #define N 10
    
    void elevamento(int *b, int *e, int *r);
    
    int main ()
    {
        int base[N];
        int esp[N];
        int ris[N];
        int i;
    
        printf("\nInserire le 10 basi >");
        for(i=0; i<N; i++)
            scanf("%d", &base[i]);
    
        printf("\nInserire i 10 esponenti >");
        for(i=0; i<N; i++)
            scanf("%d", &esp[i]);
    
        elevamento(base, esp, ris);
    
        for(i=0; i<N; i++)
            printf("\n Vettore risultato = ( %d )", ris[i]);
    	
        return 0;
    }
    
    void elevamento(int *b, int *e, int *r)
    {
        int i;
    
        for (i=0; i<N; i++)
            r[i] = (int)pow(b[i], e[i]);
    }
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Grazie finalmente ho capito!!!Grazie mille1

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.