-
.
https://www.google.com/url?sa=t&source=web...Z2wIHxl2G0Lg2nL -
.
int somma( .... )
https://teams.microsoft.com/l/meetup-join/...2%22%7d -
.
Esercitazione del 9 dicembre 2021
Realizzare gli algoritmi delle seguenti operazioni sul tipo di dato vettore: - Somma degli elementi di un vettore - Moltiplicazione degli elementi di un vettore - Cancellazione di un elemento del vettore - Stampa degli elementi di un vettore - Spostamento a destra o sinistra di tutti gli elementi di un vettore - Calcolo della dimensione di un vettore
N.B. I vettori devono essere dinamici Tenere conto delle situazioni di errore o anomale. Consegnare pseudocodice e progetto eclipse entro le 18.00
int i = posizionedacancellare
while(1<DIM){
array[i] = array[i+1]
i++
} -
.
https://pastebin.com/FyRbSmeM -
.
int[] array = new int[6]{1,2,3,4,4,4};
var query = array.GroupBy(item => item).OrderByDescending(g => g.Count()).Select(g => g.Key).First();
Console.WriteLine(query);
Console.ReadLine();
int[] array = new int[6]{1,2,3,4,4,4};
metto gli array nel vettore
var query = array.GroupBy(item => item).OrderByDescending(g => g.Count()).Select(g => g.Key).First();
uso questa funzione
int n;
n=Convert.toint32(console.readline())...
int n;
n = Convert.ToInt32(Console.ReadLine());
int[] array = new int[n];
for (int i = 0; i < n; i++)
array[i] = Convert.ToInt32(Console.ReadLine());
var query = array.GroupBy(item => item).OrderByDescending(g => g.Count()).Select(g => g.Key).First();
Console.WriteLine(query);
Console.ReadLine(); -
.
-
.
https://www.mediafire.com/file/dp5ck2hy3y8...ntonio.zip/file -
.
Questa č una funzione
int add(int x, int y) {
return x + y;
}
La chiami da dentro il main con
int main() {
int a = 1, b = 2, c = add(a, b);
} Domenico:
Questa č una funzione
int add(int x, int y) {
return x + y;
}
La chiami da dentro il main con
int main() {
int a = 1, b = 2, c = add(a, b);
}
Una funzione ti definisce uno scope, o contesto, nuovo in cui eseguire calcoli o fare qualcosa di specifico
Prende 0, 1 o piů parametri e vede solo quelli che gli dai con il nome che hai definito nel prototipo
Il protipo č questo
int add(int x, int y)
Quindi tu dai le variabili a e b, le copia dentro due nuove variabili x e y dentro la funzione, ed esegue il corpo della funzione
Il valore di ritorno di add, cioč x + y, puoi usarlo e salvartelo da qualche parte o anche usarlo in altre funzioni. In altre parole questo
add(3, 5)
lo puoi vedere come se fosse direttamente un 8 https://docs.microsoft.com/it-it/cpp/cpp/functions-cpp Francesco Lomazzo:
#include<stdio.h>
#include <stdlib.h>
int find_Num(int);//function prototype
void function(int [], int , int *, int *, int *);
int main() {
int M, t[M] , i, P, N, Null_nbr;
printf("Inserisci dimensione array");
scanf("%d", &M);
printf("\Inserisci elementi array");
for(i = 0; i < M; i++) {
scanf("%d", &t[i]);
}
function(t, M, &P, &N, &Null_nbr);
}
void function(int t[], int M, int *P, int *N, int *Null_nbr) {
int i;
*P=0;
*N=0;
*Null_nbr=0;
for(i = 0; i < M; i++){
if(t[i] == 0)
(*Null_nbr)++;
else if (t[i] < 0)
(*N)++;
else
(*P)++;
}
printf("\n P = %d N = %d and Null=%d", P, N, Null_nbr);
}
{
int num;
printf("Inserisci un numero per capire se č pari o dispari\n");
scanf("%d",&num);
if(num%2==0){
printf("\Il numero inserito %d č un numero pari",num);
}
else{
printf("\Il numero inserito %d č un numero dispari",num);
}
find_Num(num);//calling the function
getch();
return 0;
}
Prima parte di codice, poi vedo di proseguire domani
Mi manca la parte del crescente o decrescente
Domenico:
Ok per cominciare, ricordati che una funzione deve avere un nome sensato, function non vuol dire niente se non a fare un esempio Domenico:
Una funzione č un corpo a parte
Te l'ho spiegato č un pezzo di codice che puoi chiamare da un'altra parte, devi dargli un nome e dei parametri prima di tutto Domenico:
Non č lo scopo della funzione
Lo scopo della funzione č isolare una determinata procedura in un blocco a parte, in modo che sia riutilizzabile anche piů volte nel tuo programma o anche in programmi diversi -
.
int calcolopiufrequente(int v[],int n){
int i;
int j;
int frequenza;
int maxfrequenza;
int vpf;
i=0;
maxfrequenza=1;
while(i<n){
j=0;
frequenza=0;
while(j<n) {
if(v[i]==v[j]){
frequenza++;
}
j++;
}
if(maxfrequenza<=frequenza)
{frequenza=maxfrequenza;
vpf=v[i];
}
i++;
}
return vpf;
}
int calcolomenofrequente(int v[],int n){
int p;
int j;
int frequenza;
int minfrequenza;
int vmf;
p=0;
minfrequenza=1;
while(p<n){
j=0;
frequenza=0;
while(j<n) {
if(v[p]==v[j]){
frequenza++;
}
j++;
}
if(minfrequenza>=frequenza)
{frequenza=minfrequenza;
vmf=v[p];
}
p++;
}
return vmf;
} -
.
Boh algoritmo per contare la ricorrenza di un elemento -
.
Esercitazione del 2 dicembre 2021
Leggere da tastiera un vettore di n numeri interi (n>10) Calcolare il valore di piu' presente e quello meno presente nel vettore. Visualizzare i risultati ottenuti.
Proporre una soluzione organizzata in almeno 5 funzioni inclusa la funzione main.
N.B. Realizzare sia I'algoritmo the il codice e consegnare tutto entro le 18.00
Scanf
Malloc
Ti crei una funzione che calcola la frequenza di un numero in un array di n e un'altra che iteri sull'array, chiami nella seconda la prima su tutto l'array salvandoti quale ha frequenza massima e minima, e la seconda la chiami dal main
Free -
.
decrescente=1;; while(i<11-1 && decrescente==1) { if(valori[i]<valori[i+1]) { decrescente=0; } i=i+1; //VerificareNessunaTendenza if(cressente==0 && derrescente==0) nessunatendenza=1; //StampareRisultati printf("Numero di elementi positivi= %d\n", positivi); printf("Numero di elementi negativi= %d\n", negativi); printf("Numero di elementi nulli= %d\n", nulli); printf("Numero di elementi pars:, %d\n", pari); printf("Numero di elementi dispari= %d\n", dispari); if(crescente==1) { printf("I numeri del vettore sono crescenti\n") }else{ if(decrescente==1) {printf("I numeri del vettore sono decrescenti\n"); }else{ printf("I numeri del vettore non sono crescenti o decrescenti"); system("PAUSE"); return 0; -
.
/CalcolarePositivi positivi=0; 1=8;
while(i<n){ if(valori[i]>0){ positivi=positivi+1; 1=1+1; } //CalcolareNegativi negativi=0; 1=8; while(i<n){ if(valori[i]<0){ negativi=negativi+1; 1=1+1; } //CalcolareNulli nulli=0; 1=8; while(i<n){ if(valori[i]==0){ nulli=nulli+1; 1=1+1; } //CalcolarePari pari=0;
pari=0; a 1=8; while(i<n) if(valori[i]%2==0) parz=parz+1; 1=1+1; //CalcolareDispari dispari=0; i=0. while(i<n) if(valori[i]%21=0) dispari=dispari+1; //VerificareCrescenza crescente=1; 1=0; while(i<11-1 && crescente==1) if(valori[i]walori[i+1]) crescente=0; 1=1+1;
//VerificareDecrescenza decrescente=1; 1=0;
while(i<11-1 && decrescente==1) if(valori[i]<valori[i+1]) decrescente=0; -
.
include <stdio.h>
include estdlib.h> define DIM 100
int main(void) int n; int valori[DIM]; int positivi; int negativi; int nulli; int pari; int dispari; int crescente; int decrescente; int nessunatenden.a. int i; //leggere n do{ printf("Inserire velure > di 0 e < di 100"); scanf("%d" &n); while(n<=0 II n>188); //lemm-A valori 1=0. while(i<n)f printf("Inserire %d-esimo velure. ",i+1); scanf("%d",&valori[i]); i=i+1;
Edited by Mind. - 2/12/2021, 09:18 -
.
#include <st 2 #include <stdlib.h> 3 #define DIM 50 4 void LeggereArray(int v[], int dim); S int CalcolarePositivi(int v[], int dim); 6 int CalcolareNegativi(int v[], int dim); 7 int CalcolareNulli(int v[], int dim); 8 int CalcolarePari(int v[], int dim); 9 int CalcolareOispari(int v[], int dim); 10 int CalcolareCrescenza(int v[ ], int dim); 11 int CalcolareDecrescenza( int v[], int dim); 12e int main(void)
l.eggeceArroy(valpci, n.); po5itivir-CalcolarePositivi(valori, n); negativi=CalcolareHegativi(valori, n); nulli=CalcolareNulli(valori, n); pari=CalcolarePart(valori, n); dispari=Calcolarepisporii(yalori, n); crescente=ColcolareCrescriza(valori, n); decrescente=calcolareDeCreStCenZ4(y4orj„n);
// ...eggere4.- -ay void,teggareArray(int vfl int_dim) {
int i; 1=0; while(i<n)( ejeTt,1119. dell' array'); scanfri", gvaloriCi]); ird+1;
return; }