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

    [C] Unione matrici e inserimento valore in array 1D

    salve allora dovrei creare 2 matrici e vedere quali valori compaiono in entrambe per inserirli in un array 1D ma mi sono inchiodato appunto su questa procedura nn so come far ciclare le 2 matrici ..... sorry ma sto sfasato e da stamattina le 8 che sto a studiare ..uffff



    codice:
    #include "stdafx.h"
    #include "stdlib.h"
    #include "stdio.h"
    #include "time.h"
    #include "math.h"
    #define SIZE 3
    #define SIZE_1 4
    void rand ( int *a, int *b);
    void visualizza ( int *a, int *b);
    void unione(int *a, int *b, int *c);
    int main()
    {
    	int a[SIZE][SIZE];
    	int b[SIZE_1][SIZE_1];
    	int c[1000];
    	srand((int)time(NULL));
    	rand (&a[0][0],&b[0][0]);
    	visualizza (&a[0][0],&b[0][0]);
    	unione(&a[0][0],&b[0][0],c);
    	return 0;
    
    
    }
    
    
    
    
    
    
    														//* Creo le matrici*//
    
    
    void rand ( int *a, int *b)
    {
    	int i ,j,k,y;
    
    	for(i=0;i<SIZE;i++)
    	{
    		for(j=0;j<SIZE;j++)
    		{
    			*(a+SIZE*i+j)= rand()%20;
    		}
    	}
    
    	for(k=0;k<SIZE_1;k++)
    	{
    		for(y=0;y<SIZE_1;y++)
    		{
    			*(b+SIZE_1*k+y)= rand()%20;
    		}
    	}
    }
    
    
    
    
    														//* Visualizza l' array*//
    
    
    void visualizza ( int *a, int *b)
    {
    	int i ,j,k,y;
    
    	for(i=0;i<SIZE;i++)
    	{
    		printf("\n");
    		for(j=0;j<SIZE;j++)
    		{
    			printf("A[%d][%d]= %d\t",i,j,*(a+SIZE*i+j));
    		}
    	}
    printf("\n-------------------------------------------------------\n");
    	for(k=0;k<SIZE_1;k++)
    	{
    		printf("\n");
    		for(y=0;y<SIZE_1;y++)
    		{
    			printf("B[%d][%d]= %d\t",k,y,*(b+SIZE_1*k+y));
    		}
    	}
    }
    
    
    
    
    
    
    
    void unione(int *a, int *b, int*c)
    {
    	int i=0,j=0,k=0,y=0,g=0;
    	int size=0;
    
    	size=(SIZE*SIZE)+(SIZE_1*SIZE_1);
    printf("\n");
    
    
    //*QUI DOVREI FAR CICLARE LE MATRICI E FARE UN CONFRONTO PER POI INMETTERE IL CALORE NELL ARRAY C[]*//
    
    					if(*(b+SIZE_1*k+y)==*(a+SIZE*i+j))
    						{
    							c[g]=*(b+SIZE_1*k+y);
    							printf("C[%d]=%d\n",g,c[g]);
    							g++;
    						}
    }
    Potrei morire per una {Ferrari 599 GTB Fiorano F1}

  2. #2
    nessuno che mi puo aiutare ?
    Potrei morire per una {Ferrari 599 GTB Fiorano F1}

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Parti da questa versione della funzione unione

    codice:
    void unione(int *a, int *b, int*c)
    {
    	int pc=0;
    	int i,j,k,y;
    
    	for(i=0;i<SIZE;i++)
    		for(j=0;j<SIZE;j++)
    			for(k=0;k<SIZE_1;k++)
    				for(y=0;y<SIZE_1;y++)
    					if((*(a+SIZE*i+j)) == (*(b+SIZE_1*k+y)))
    						c[pc++] = *(a+SIZE*i+j);
    
    	printf("\n\n");
    	for(i=0; i<pc; i++)
    		printf("c[%d]=%d\n", i, c[i]);
    }
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    ciao
    grazie x l' aiuto anche se mi è venuta 1 idea + rapida ovvero portare la matrice 1 interamente nell' array 1d , da li fare un ordinamento (buble sort) ed eliminare i volori uguali , per poi confrontare ogni singolo valore nell' array 1d rispetto la matrice e in caso che il valore esiste gia nell array 1d nn inserirlo in alternativa inseriscilo.

    credo che sia 1 cosa un po + tranquilla .......
    Potrei morire per una {Ferrari 599 GTB Fiorano F1}

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da Alessio86
    credo che sia 1 cosa un po + tranquilla .......
    Mah ... non ne sono convinto ... prova ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.