Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [C] matrici

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175

    [C] matrici

    allora ho una maatrice X di dimensioni nxn (quindi quadrata) e un vettore colonna Y di n elementi.

    Gli elementi dell'nesima riga dispari della matrice devono essere sommati e messi nella rispettiva riga del vettore colonna.
    Quelli pari moltiplicati

    es:
    codice:
    +---+---+---+---+  +----+ 
    | 3 | 6 | 1 | 4 |  | 14 | somma(3+6+1+4) = 14
    +---+---+---+---+  +----+
    | 2 | 5 | 2 | 1 |  | 20 | prod(2*5*2*1) = 20
    +---+---+---+---+  +----+
    | 9 | 7 | 3 | 8 |  | 27 | somma(9+7+3+8) = 27
    +---+---+---+---+  +----+
    | 1 | 6 | 2 | 5 |  | 60 | prod(1*6*2*5) = 60
    +---+---+---+---+  +----+
    Come lo creereste voi una funzione che data la dimensione n e i valori provveda lei a far tutto?
    Io avevo iniziato un qualcosa ma purtroppo funzionava solo nel caso in cui la matrice era dispari. Voi come affrontereste il problema?

  2. #2
    metallicaaa

    sbrigati a editare il titolo prima che peregallo ti stupra



    in che linguaggio?

  3. #3
    Originariamente inviato da trevor
    metallicaaa

    sbrigati a editare il titolo prima che peregallo ti stupra



    in che linguaggio?
    Peregallo si è decisamente stufato di fare il maggiordomo e pensa che tra un po' comincia a monnezzare a destra e a manca
    Ca##o se ci arriva Maldito a dire di mettere il titolo mi sembra alla portata di tutti :gren:
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  4. #4
    Originariamente inviato da xegallo
    Ca##o se ci arriva Maldito a dire di mettere il titolo mi sembra alla portata di tutti :gren:

    :metallica :metallica






    oh caz ma non è un complimento :di56:

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175
    Originariamente inviato da trevor
    metallicaaa
    sbrigati a editare il titolo prima che peregallo ti stupra
    in che linguaggio?
    Oddio non è molto importante il linguaggio, mi servirebbe il prcediemnto logico + che altro. cmq C

  6. #6
    Utente di HTML.it L'avatar di antos
    Registrato dal
    Feb 2001
    Messaggi
    3,581

    Re: matrici

    Originariamente inviato da Metallica
    allora ho una maatrice X di dimensioni nxn (quindi quadrata) e un vettore colonna Y di n elementi.

    Gli elementi dell'nesima riga dispari della matrice devono essere sommati e messi nella rispettiva riga del vettore colonna.
    Quelli pari moltiplicati

    es:
    codice:
    +---+---+---+---+  +----+ 
    | 3 | 6 | 1 | 4 |  | 14 | somma(3+6+1+4) = 14
    +---+---+---+---+  +----+
    | 2 | 5 | 2 | 1 |  | 20 | prod(2*5*2*1) = 20
    +---+---+---+---+  +----+
    | 9 | 7 | 3 | 8 |  | 27 | somma(9+7+3+8) = 27
    +---+---+---+---+  +----+
    | 1 | 6 | 2 | 5 |  | 60 | prod(1*6*2*5) = 60
    +---+---+---+---+  +----+
    Come lo creereste voi una funzione che data la dimensione n e i valori provveda lei a far tutto?
    Io avevo iniziato un qualcosa ma purtroppo funzionava solo nel caso in cui la matrice era dispari. Voi come affrontereste il problema?
    prova ad annidare 2 cicli
    nel primo fai incrementare l'indice delle righe
    poi fai il controllo se l'indice delle righe è pari (usando il modulo) o dispari in base all'if vedi se esguire un ciclo che prende tutti i valori della riga e fa la somma o la moltiplicazionee t eli mette nell'altro array

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    167
    Fatto un po' velocemente: provalo

    codice:
    #include <stdlib.h>
    #include <stdio.h>
    #include <time.h>
    
    #define N    4
    
    int vettore[N];
    
    int main()
    {
    int matrice[N][N];
    int i,j;
    
    srand((unsigned)time(NULL)); 
    
    for  (i = 0; i < N; i++){
        for  (j = 0; j < N; j++){
           // valori della rand() da 1 a 9
            matrice[i][j] = rand()%9 +1;
            }
    }
    
    for  (i = 0; i < N; i++){
        for  (j = 0; j < N; j++){
            if (!(i%2))
                    vettore[i] += matrice[i][j];
            else{
                 if (j == 0)
                      vettore[i] =  matrice[i][0];
                 else 
                      vettore[i] *= matrice[i][j];         
                 }          
            }
    }
    
    for  (i = 0; i < N; i++){
        for  (j = 0; j < N; j++)
            fprintf(stdout, "mat[%d][%d] = %d\t", i, j, matrice[i][j]);
            fprintf(stdout, "vet[%d] = %d\n", i, vettore[i]);
    }
    
    system("PAUSE");
    return 0;
    }

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 © 2024 vBulletin Solutions, Inc. All rights reserved.