Moltiplicazione binaria in C

di il
2 risposte

Moltiplicazione binaria in C

Programma di linguaggio C che dovrebbe realizzare la moltiplicazione binaria tra 2 numeri inseriti in input.
Premetto che manca una parte , ma fino a qui non mi funziona correttamente , qualcuno saprebbe darmi una mano.
Grazie in anticipo.

#include <stdio.h>
#include <stdlib.h>

int main()
{

    int i,j;
    int n,m;
   // int a[i];
    //int b[j];
    //int c[q];

    printf("Inserimento primo numero...\n");

    printf("Inserire numero elementi:\t");
    scanf("%d",&n);

    int a[n];

    for(i=0;i<=n-1;i++)
      {
                         printf("Inserire elemento a[%d]:\t\t",i);
                         scanf("%d",&a[i]);
                         }


    printf("Inserimento secondo numero...\n");

    printf("Inserire numero elementi:\t");
    scanf("%d",&m);

    int b[m];



   for(j=0;j<=m-1;j++)
      {
                         printf("Inserire elemento b[%d]:\t\t",j);
                         scanf("%d",&b[j]);
                     }
    printf("\n\n");

  printf("Il prino numero e:");

  for(i=n-1;i>=0;i--){
  printf("%d",a[i]);

                     }


   printf("\n\n");
   printf("Il secondo numero e':");

   for(j=m-1;j>=0;j--){
   printf("%d",b[j]);}
   
   
   int t=n+2;
   int g=n+2;
   int y ,x;
   int somma1[y];
   int somma2[x];
   i=0;
   while (i<=n-1){
   for(j=0;j<=m-1;j++){
                       for(y=0;y<=t-1;y++){
                       //a[i]*b[j]=c[q];
                       if (a[i]==1&&b[j]==0)
                       somma1[y]=0;
                       if (a[i]==0&&b[j]==1)
                       somma1[y]=0;
                       if (a[i]==0&&b[j]==0)
                       somma1[y]=0;
                       else
                       somma1[y]=1;
                       i++;
                       }
                       }
                       }
   j=0;                    
   while (j<=m-1){
   for(i=0;i<=n-1;i++){
                       for(x=0;x<=g-1;x++){
                       //a[i]*b[j]=c[q];
                       if (a[i]==1&&b[j]==0)
                       somma2[x]=0;
                       if (a[i]==0&&b[j]==1)
                       somma2[x]=0;
                       if (a[i]==0&&b[j]==0)
                       somma2[x]=0;
                       else
                       somma2[x]=1;
                       j++;
                       }
                       }
                       } 
  printf("\n\n");
  printf("Il risultato e':");
  for(y=t-1;y>=0;y--)
  printf("%d",somma1[y]);                                         
                       
   
   
  printf("\n\n");
  printf("Il risultato e':");
  for(x=g-1;x>=0;x--)
  printf("%d",somma2[x]);  
  
   }                                      
         

2 Risposte

  • Re: Moltiplicazione binaria in C

    Io avevo pensato intanto di moltiplicare ogni singolo bit del primo numero per tutti gli altri e cosi via e poi sommarli con quel programmino di ieri.. ma la prima parte non va!
  • Re: Moltiplicazione binaria in C

    Vabbe ma a me non hanno insegnato a programmare solo con le funzioni, poi comunque si tratta di dover fare la moltiplicazione tra 2 soli numeri , quindi non credo bisogna fare per forza le funzioni..
Devi accedere o registrarti per scrivere nel forum
2 risposte