• Non ci sono risultati.

Programmazione 1 – Colonna con max numero elementi decrescenti consecutivi

N/A
N/A
Protected

Academic year: 2021

Condividi "Programmazione 1 – Colonna con max numero elementi decrescenti consecutivi"

Copied!
1
0
0

Testo completo

(1)

Programmazione 1 – Colonna con max numero elementi decrescenti consecutivi

Letti in input due interi positivi n e m (minori di 10), generare e stampare una matrice A con n righe e m colonne i cui elementi sono numeri decimali casuali compresi tra 0 e 1.

Verificare se esistono colonne aventi elementi decrescenti consecutivi.

In caso negativo segnalare tale circostanza.

In caso positivo stampare la colonna contenente il massimo numero di elementi decrescenti consecutivi. Nel caso che più colonne contengano tale massimo si stampa una di tali colonne.

IMPORTANTE: Utilizzare una funzione per generare la matrice, un’altra per stamparla, una terza per effettuare la verifica, un’altra ancora per stampare la colonna. Non utilizzare array ausiliari, non introdurre variabili globali.

Esempio

Siano n = 4 e m = 5 e sia stata generata la seguente matrice casuale (per semplicità abbiamo considerato una sola cifra decimale):

0.1 0.3 0.8 0.4 0.8 0.2 0.7 0.5 0.1 0.6 0.6 0.4 0.1 0.7 0.2 0.7 0.2 0.3 0.1 0.1

La colonna di indice 4 contiene il massimo numero di elementi decrescenti consecutivi (4) e perciò viene stampata la colonna di indice 4.

(2)

#include <stdlib.h>

#include <stdio.h>

#include <time.h>

#define MAX 10

void generamatrice(float A[MAX][MAX], int n, int m);

void printmatrice(float A[MAX][MAX], int n, int m);

int trovacolonna(float A[MAX][MAX], int n, int m);

void printcolonna(float A[MAX][MAX], int n, int j);

main(void) {

float A[MAX][MAX];

int n, m, j;

printf("numero di righe e colonne della matrice: ");

scanf("%d %d", &n, &m);

generamatrice(A, n, m);

printmatrice(A, n, m);

j = trovacolonna(A, n, m);

if (j >= 0)

printcolonna(A, n, j);

else

printf("nessuna colonna contiene elementi decrescenti consecutivi\n\n");

system ("pause");

return(0);

}

void generamatrice(float A[MAX][MAX], int n, int m) {

int i, j;

srand(time(NULL));

for (i=0; i<n; i++) for (j=0; j<m; j++)

A[i][j] = (float)rand()/RAND_MAX;

return;

}

(3)

void printmatrice(float A[MAX][MAX], int n, int m) {

int i, j;

printf("\n");

for (i=0; i<n; i++) { for (j=0; j<m; j++)

printf("%1.6f ", A[i][j]);

printf("\n");

}

return;

}

int trovacolonna(float A[MAX][MAX], int n, int m) {

int i, j, cont, cont2, contmax, jmax;

contmax = 0;

jmax = -1;

for (j=0; j<m; j++) { cont = 0;

cont2 = 0;

for (i=0; i<n-1; i++) { if (A[i][j]>A[i+1][j]) { cont++;

if (cont > cont2) cont2 = cont;

} else {

if (cont > cont2) cont2 = cont;

cont = 0;

} }

if (cont2 > contmax) { contmax = cont2;

jmax = j;

} }

return(jmax);

}

(4)

void printcolonna(float A[MAX][MAX], int n, int j) { int i;

printf("\n\nla colonna di indice %d contiene il massimo numero:\n\n", j);

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

printf("%1.5f\n", A[i][j]);

printf ("\n\n");

return;

}

Riferimenti

Documenti correlati

I Dirigenti Scolastici delle scuole di destinazione del personale trasferito devono comunicare l’avvenuta assunzione di servizio all’Ufficio Scolastico Territoriale

economia, di seguito denominato elenco, al quale possono iscriversi i soggetti che svolgono, sulla base dei parametri definiti ai sensi dell’articolo 4, comma 1, una o più

Distretto Socio Sanitario - Ex Ospedale di Schio Via Camillo de Lellis, 1

Planet-o è composta da circa 250 dischi di metallo sapientemente saldati artigianalmente mediante il processo di saldatura ad ottone.. Planet-o è un corpo che si illumina e

In questi 6 anni il cantiere ha lanciato 8 nuovi modelli di barche a vela, introducendo la linea Grand Soleil Long Cruise, é entrato nel segmento motore con il

Quindi l’uomo più virile che Rachel avesse mai visto nella sua vita era un attaccabrighe.. Una cosa positiva

Non possiamo allora che ribadire, una volta confermata da parte nostra l'idea della esperibilità dell'azione revocatoria (ordinaria e fallimentare) nei confronti di

nto risorgi- agioni delle ne fece: da garantire