MULTIPLI

di il
3 risposte

MULTIPLI

Perchè perchè..non va???' aiutoooo..

Scrivere un programma C che:
· chiede all’utente di immettere l’array numeri[ ] composto da 10 numeri interi, e un intero k
· produce l’array multipli[ ] che contiene tutti e soli gli elementi di numeri[] che sono multipli
di k. A tale scopo si usi la funzione int multiplo(int num, int k) che riceve in input due
interi (num e k) e restituisce 1 se num è multiplo di k, 0 altrimenti.

· stampa a video:

- l’array numeri[ ]
- l’intero k
- l’array multipli[ ]

ESEMPIO:
Nel caso in cui l’utente immetta:

per numeri[ ] i seguenti valori: 3 6 9 12 15 18 21 24 27 30

per k il seguente valore: 6

Il programma deve produrre un output del tipo:

Array numeri:

3 6 9 12 15 18 21 24 27 30

Intero immesso: 6

Array multipli:

6 12 18 24 30
#include<stdio.h>
#define dim 4


int multiplo(int num,int k);

int main(){
int i,k,c;
int numeri[dim];
int multi[dim];
printf("Inserisci i 4 numeri:\n");
for(i=0;i<dim;i++){
   scanf("%d",&numeri[i]);              
                  }    
printf("Inserisci il numero k:\n");
   scanf("%d",&k); 
   
multiplo(numeri[i],k);
     printf("Array multipli..");
  for(i=0;i<dim;i++){
    printf("%d",&multiplo);                
                    }   
return 0;                        
          }

int multiplo(int num,int k){
     int risultato;
     int i ; 
 
if(num %k ==0)
      
    risultato=num;  
                    
   return risultato;          
                           }

3 Risposte

  • Re: MULTIPLI

    1) la funzione multiplo non restituisce 1 o 0

    2) la funzione multiplo va chiamata all'interno di un for controllando il risultato

    3) la printf non usa l'indirizzo & delle variabili
  • Re: MULTIPLI

    Passo avanti..ma ancora difficoltà...un aiuto??
    #include<stdio.h>
    #define dim 4
    
    
    int multiplo(int num,int k);
    
    int main(){
    int i,k,c;
    int numeri[dim];
    
    printf("Inserisci i 4 numeri:\n");
    for(i=0;i<dim;i++){
       scanf("%d",&numeri[i]);              
                      }    
    printf("Inserisci il numero k:\n");
       scanf("%d",&k); 
       printf("i multipli sono : \t");
       for(i=0;i<dim;i++){
    
    multiplo(numeri[i],k);
                        
                       
                         }
                         
                          
    return 0;                        
              }
    
    int multiplo(int num,int k){
         int multi[dim];
         int risultato;
         int i ; 
    
    if(num %k ==0){
          
        risultato=1; 
      /*printf("\nmultiplo\n"); 
       
       printf("%d",num);
       i++;       */
                  } else{
                         
        risultato=0;/*
       printf("\nNon Multiplo\n");
                       */
                        }  
       
                         for(i=0;i<dim;i++){
            if(risultato==1)
            multi[i]=num;
            
                      printf("%d",multi[i]);                     }
                                            
                                     
      return risultato;  
              
                               }
    
  • Re: MULTIPLI

    Hai fatto un po' di confusione con la funzione ...
    
    #include <stdio.h>
    
    #define DIM 4
    
    int multiplo(int num,int k);
    
    int main()
    {
    	int i,k,j;
    	int numeri[DIM];
    	int multipli[DIM];
    
    	printf("Inserisci i 4 numeri:\n");
    	for(i=0; i<DIM; i++)
    		scanf("%d",&numeri[i]);              
    
    	printf("Inserisci il numero k:\n");
    	scanf("%d",&k); 
       
    	j=0;
    	for(i=0; i<DIM; i++)
    		if(multiplo(numeri[i],k) == 1)
    			multipli[j++]=numeri[i];
    
    	printf("Array multipli.. ");
    	for(i=0; i<j; i++)
    		printf("%d ", multipli[i]);
    
    	return 0;                        
    }
    
    int multiplo(int num, int k)
    {
    	if(num %k == 0)
    		return 1;
    	else
    		return 0;
    }         
     
Devi accedere o registrarti per scrivere nel forum
3 risposte