[C++] matrice colonna con maggior numero di elementi dispari

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
vfabrisv94
Prode Principiante
Messaggi: 45
Iscrizione: sabato 7 marzo 2015, 15:42
Sesso: Maschile

[C++] matrice colonna con maggior numero di elementi dispari

Messaggio da vfabrisv94 »

Salve a tutti, dovrei fare questo programma :
Letta in input una matrice A di n×m numeri interi, stampa la colonna con il maggior numero di elementi dispari.

Come faccio a dire la colonna con il maggior numero di elementi dispari ?

Codice: Seleziona tutto

#include<iostream>
using namespace std;
const int R=100;
const int C=100;

void carica_matrix(int matrix[R][C], int *punt_righe, int *punt_colonne){

    cout << "Inserisci le righe: ";
	cin >> *punt_righe;
	cout << endl;

	cout << "Inserisci le colonne: ";
	cin >> *punt_colonne;
	cout << endl;

	cout << "\nInserisci gli elementi della matrice: "<< endl;

	for(int r=0; r<*punt_righe; r++)
	{
		for(int c=0; c<*punt_colonne; c++)
		{
			cin >> matrix[r][c];
		}
	}
}

void stampa_matrix(int matrix[R][C], int *pr, int *pc){

    for(int r=0; r<*pr; r++)
    {
        for(int c=0; c<*pc; c++)
        {
            cout<<matrix[r][c]<<"\t";
        }
        cout<<endl;
    }
}

int main(){


    int matrix[R][C];
    int righe, colonne;

    carica_matrix(matrix, &righe, &colonne);
    stampa_matrix(matrix, &righe, &colonne);
    cout<<endl<<endl;

    int cont=0;
    for(int c=0; c<colonne; c++)
    {
        cont=matrix[0][c];
        for(int r=0; r<righe; r++)
        {
            if(matrix[r][c]%2!=0)
            {
                cont++;
            }
        }
    }

    cout<<"Gli elementi dispari della matrice sono: "<<cont;




}
Avatar utente
M_A_W_ 1968
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 856
Iscrizione: venerdì 15 febbraio 2013, 3:57
Desktop: KDE
Distribuzione: SuSE
Sesso: Maschile
Località: Un luogo geometrico
Contatti:

Re: [C++] matrice colonna con maggior numero di elementi dis

Messaggio da M_A_W_ 1968 »

Come faresti con una matrice scritta su un foglio di carta? Per ogni colonna conti gli elementi dispari (hint: quelli il cui AND logico con la costante 1 fornisce un risultato non nullo), scorrendone i valori. Al termine del conteggio di una colonna, salvi a parte il massimo, semplicemente confrontando il valore appena ricavato col valore precedente (inizialmente nullo) e sostituendo se il valore attuale risulta maggiore di quelo precedente.
Questo è tutto.
Sì, un blog ce l'ho perfino io: gli è che mi manca il tempo...

"...in una società che sembra sempre più spaventata dai problemi troppo articolati e che rigetta come un corpo estraneo ogni elemento di complessità, sapremo ancora come utilizzare il parere degli esperti?"
Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4703
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 20.04 64bit

Re: [C++] matrice colonna con maggior numero di elementi dis

Messaggio da vaeVictis »

A margine di quanto detto da M_A_W, memorizzati anche l'indice di colonna (analogamente a come fai con il numero di elementi negativi).
Se ho visto bene nel tuo codice, stampi a video anche i numeri della colonna
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti