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

int s[dim];

int conta;

// Inserimento dei valori nell'array v

printf("Inserisci %d valori nel vettore v[]:\n", dim);

for (int i = 0; i < dim; i++)

{ printf("v[%d]: ", i);

scanf("%d", &v[i]);

}

// Seleziona un elemento sì e due no a partire dal primo

conta = f(v, dim, s);

// Stampa il nuovo vettore

if (conta == 0)

{ printf("Non ci sono elementi nel nuovo vettore.\n");

}

else

{ printf("Nuovo vettore: \n");

for (int i = 0; i < conta; i++)

{ printf("%d ", s[i]);

}

printf("\n");

}

return 0;

}

ESERCIZIO 2

//Si consideri una matrice quadrata di numeri interi. Scrivere una funzione che

restituisca la somma

//degli indici delle colonne dove ci sia almeno uno zero.

#include <stdio.h>

#include <stdlib.h>

#define dim 3

// Funzione che verifica se il numero di righe con somma nulla è minore di cinque

int verificaRigheSommaNulla(int mat[][dim]);

// Funzione che trova l'indice della prima colonna con zero per ogni riga

void trovaPrimiZero(int mat[][dim], int risultati[]);

// Funzione che calcola la somma degli indici delle colonne contenenti almeno uno zero

int sommaIndiciColonneConZero(int mat[][dim]);

int main()

{ int mat[dim][dim];

int risultato;

int primiZero[dim];

// Inserimento dei valori nella matrice mat

for (int i = 0; i < dim; i++)

{ for (int j = 0; j < dim; j++)

{ printf("Inserisci valore mat[%d][%d]: ", i, j);

scanf("%d", &mat[i][j]);

}

}

// Verifica se il numero di righe con somma nulla è minore di 5

risultato = verificaRigheSommaNulla(mat);

// Stampa del risultato

if (risultato)

printf("Il numero di righe con somma nulla è minore di cinque.\n");

else

printf("Il numero di righe con somma nulla NON è minore di cinque.\n");

// Trova il primo zero per ogni riga

trovaPrimiZero(mat, primiZero);

// Stampa il risultato

printf("Indici della prima colonna con zero per ogni riga:\n");

for (int i = 0; i < dim; i++)

{ printf("Riga %d: %d\n", i, primiZero[i]);

}

// Calcola la somma degli indici delle colonne contenenti almeno uno zero

int sommaIndici = sommaIndiciColonneConZero(mat);

printf("Somma degli indici delle colonne contenenti almeno uno zero: %d\n",

sommaIndici);

return 0;

}

// Funzione che verifica se il numero di righe con somma nulla è minore di 5

int verificaRigheSommaNulla(int mat[][dim])

{ int numeroRigheNulla = 0;

// Scorri tutte le righe

for (int i = 0; i < dim; i++)

{ int somma = 0;

// Somma gli elementi della riga

for (int j = 0; j < dim; j++)

{ somma += mat[i][j];

}

// Se la somma della riga è nulla, incrementa il contatore

if (somma == 0)

{ numeroRigheNulla++;

}

}

// Restituisci vero (1) se il numero di righe con somma nulla è minore di 5, altrimenti

falso (0)

return numeroRigheNulla < 5;

}

// Funzione che trova l'indice della prima colonna con zero per ogni riga

void trovaPrimiZero(int mat[][dim], int risultati[])

{ for (int i = 0; i < dim; i++)

{ risultati[i] = -1; // Valore di default se non ci sono zeri nella riga

for (int j = 0; j < dim; j++)

{ if (mat[i][j] == 0)

{ risultati[i] = j; // Salva l'indice della prima colonna con zero

break; // Esci dal ciclo appena trovi il primo zero

}

}

}

}

// Funzione che calcola la somma degli indici delle colonne contenenti almeno uno zero

int sommaIndiciColonneConZero(int mat[][dim])

{ int colHasZero[dim] = {0}; // Array per tenere traccia delle colonne con almeno uno

zero

int somma = 0;

for (int i = 0; i < dim; i++)

{ for (int j = 0; j < dim; j++)

{ if (mat[i][j] == 0)

{ colHasZero[j] = 1; // Segna la colonna come contenente almeno uno zero

}

}

}

// Somma gli indici delle colonne che contengono almeno uno zero

for (int j = 0; j < dim; j++)

{ if (colHasZero[j])

{ somma += j;

}

}

return somma;

Dettagli
Publisher
A.A. 2024-2025
7 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Savi6 di informazioni apprese con la frequenza delle lezioni di Elementi di 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 della Campania "Luigi Vanvitelli" o del prof Cesario Vincenzo Angelino.