Newsgroup: it.comp.lang.c
Titolo: [AIUTO] Do-while e matrici

Scrivere una funzione che riceva come parametri di ingresso due valori
interi N e K; la funzione chiede all'utente una sequenza di interi che
termina quando l'utente inserisce il valore zero. la funzione
restituisce:
- 0 se nella sequenza di numeri il valore N compare esattamente K
volte
- 1 se nella sequenza di numeri il valore N compare piu di K volte
- -1 se .........................................................
compare meno di k volte
In questa funzione ho un problema: io so che andrebbe fatta con un
ciclo do-while ma sono riuscito solo a svilupparla col for perchè per
memorizzare i dati uso un vettore basandomi sul contatore del for. nel
do-while come faccio? non posso assegnare il valore a un int normale
perchè lo sovrascriverà di volta in volta.
Altro problema:
scrivere un programma che:
- riempia due matrici M1 e M2 (con 20 righe e 20 colonne) con valori
interi richiesti all'utente
- dica se vi è almeno una riga per cui la somma degli elementi di M1
su quella riga è uguale alla somma degli elementi di M2 sulla stessa
riga.
Sul mio libro di C le trovo come vettori multidimensionali e non come
matrici, non so se ci siano delle differenze. qui sono piu problemi,
nel senso che so riempire le matrici solo in modo uguale, ad esempio
sotto un ciclo for &M1[cont][cont], in questo modo alla riga e colonna
0 ci sarà lo stesso valore. Ci sono altri modi? E poi come faccio a
fare operazioni (il punto 2) solo sulla riga o viceversa?
Grazie dell'aiuto.

 fare operazioni (il punto 2) solo sulla riga o viceversa?
Hai delle decise mancanze di programmazione _in generale_, piu' che di 
programmazione in C. Ti consiglio di prendere un libro e studiare da li'.
Scusa se questi suggerimenti e commenti ti sembreranno offensivi, ma 
preferisco essere chiaro piuttosto che gentile.
-- 
/**
  * Mattia Belletti - Undergraduate student @ 
cs.unibo.it
  * ICQ: 33292311   - email: 
mbel...@cs.unibo.it
  * IRC: BluShine   - site(s): 
http://cs.unibo.it/~mbellett
  * Linux registered user 299762 @ Linux registered machine 213003
  */

 questo non e' forse praticamente identica al for?
No, è identico ad un ciclo do-while, eseguito _sempre_ almeno una volta.
Il ciclo for è riconducibile a quello while, che potrebbe non essere eseguito.
-- 
asettico (aka Roberto) [
http://www.rossomaltese.it/
]
GPG fingerprint [ BA20 8C8D 7712 9D9A 57F3  A96A A7BE 905C 1CB9 26BA ]
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS/IT/O d++(-) s:+>: a34 C++$ ULAVH*++$>++++ P+ L+>++++ E--- W++(-) N(++)
o? K-? w(---) !O M@ V@ PS+@ PE- Y? PGP->++ t+++ 5? X++ R tv+ b+ DI(+)
D++(---) G(-)>-- e>++++ h---() r++ y+++*
------END GEEK CODE BLOCK------

 perchè lo sovrascriverà di volta in volta.
Non ti serve affatto un vettore e non ti serve affatto registrare tutti i
valori inseriti....
Tommy

valori inseriti....
i=0;
do
{
     scanf("%d",&num[i]);
     i++;
}
while (num[i] != 0);
Come mi ha scritto Mattia, io dovrei fare cosi. No?
Devo usare un vettore per memorizzare i dati, altrimenti
successivamente quando mi serviranno per fare dei controlli come farň?
Dove sbaglio?
Cioč, vedo anche io che c'č qualcosa che non va, perchč ho cmq dei
limiti (del vettore) di memorizzazione dei numeri, perň non vedo cosa
altro posso fare. Se hai 2 minuti da perdere e mi scrivi la parte di
codice interessata, te ne sarei grato.
Grazie

preferisco essere chiaro piuttosto che gentile.
Non importa, grazie dell'aiuto.

 codice interessata, te ne sarei grato.
Beh, non ti ho scritto il codice ma piuttosto un pseudocodice! Spero sia di
aiuto.
Tommy

Tommy
Ciao

 eseguito.
Ripeto: non e' forse _praticamente_ identica? :)
Per essere _veramente_ identica, servirebbe uno sporco break, d'accordo. 
Ed inoltre mi pareva che il suo problema fosse un altro.
