Anteprima
Vedrai una selezione di 4 pagine su 13
Elementi di informatica e programmazione - Esercizi Pag. 1 Elementi di informatica e programmazione - Esercizi Pag. 2
Anteprima di 4 pagg. su 13.
Scarica il documento per vederlo tutto.
Elementi di informatica e programmazione - Esercizi Pag. 6
Anteprima di 4 pagg. su 13.
Scarica il documento per vederlo tutto.
Elementi di informatica e programmazione - Esercizi Pag. 11
1 su 13
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

ESERCIZIO 10: Si consideri una sequenza di 10 numeri naturali pseudo-casuali compresi tra 1 e 100. Si

visualizzi la sequenza. Successivamente si visualizzi il naturale con la maggior quantità di

divisori. Per svolgere questo compito si definisca ed utilizzi una funzione che produca la quantità

di divisori di un dato intero.

#include <stdio.h>

#include <time.h>

#include <stdlib.h>

#define DIM 10

int divisori(int n){

int nDivisori=0;

int i;

for(i=1; i<=n; i++)

if(n%i==0)

nDivisori++;

return nDivisori;

}

int main()

{ srand(time(NULL));

int v[DIM], i, maxDiv, maxIndex;

for(i=0; i<DIM; i++){

v[i]=(rand()%100)+1;

printf("%d\t",v[i]);

}

maxIndex=0;

maxDiv=divisori(v[maxIndex]);

for(i=1; i<DIM; i++){

if(divisori(v[i])>maxDiv){

maxDiv=divisori(v[i]);

maxIndex=i;

}

}

printf("\nNaturale con più divisori (%d): %d\n",maxDiv,v[maxIndex]);

return 0;

}

ESERCIZIO 11:Riempire la prima colonna di una tabella di 10 righe con interi pseudo-casuali compresi

tra 10 e 100 e la seconda colonna della tabella con interi pseudo-casuali tali che l’intero sulla

i-esima riga e seconda colonna della matrice è compreso tra l’intero sulla i-esima riga e prima

colonna della matrice e 100. Successivamente interpretando la coppia di interi presenti su

ciascuna riga della matrice come il numeratore ed il denominatore di una frazione visualizzare la

frazione ridotta ai minimi termini. Per svolgere questo compito si definisca ed utilizzi una

funzione C che produce il massimo comune divisore di due dati interi.

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

#define DIMR 10

#define DIMC 2

#define NUM 0

#define DEN 1

int mcd (int a, int b);

int main()

{ srand(time(NULL));

int mat[DIMR][DIMC], r, mcdT;

for (r=0; r<DIMR; r++) {

mat[r][NUM] = (rand()%91) +10;

mat[r][DEN] = 100- (rand()%(101-mat[r][NUM]));

}

for (r=0; r<DIMR; r++) {

printf("\n%da frazione: %d/%d", (r+1), mat[r][NUM], mat[r][DEN]);

mcdT = mcd(mat[r][NUM], mat[r][DEN]);

printf("\n%da frazione ridotta ai minimi termini: %d/%d\n", (r+1), mat[r][NUM]/mcdT,

mat[r][DEN]/mcdT);

}

return 0;

}

int mcd (int a, int b) {

int t;

while (b != 0) {

t = b;

b = a % b;

a = t;

}

return a;

}

ESERCIZIO 12: Si visualizzi una sequenza di 10 numeri naturali pseudo-casuali compresi tra 10 e 50. Si

acquisisca da tastiera un intero n. Successivamente per ciascun intero x della sequenza si

visualizzi il quoziente e il resto della divisione tra x e n. Per svolgere questo compito si definisca

ed utilizzi una funzione che inizializza le variabili puntate da due dati puntatori con il quoziente e

il resto della divisione tra due date variabili intere.

#include <stdio.h>

#include <stdlib.h>

#define DIM 10

void quozienteResto(int x, int n, int* q, int* r);

void quozienteRestoSomma(int x, int n, int* q, int* r);

int main()

Dettagli
A.A. 2022-2023
13 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher benedettaanglani2312 di informazioni apprese con la frequenza delle lezioni di Elementi di informatica e programmazione e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Brescia o del prof Saetti Alessandro.