|
|
|
![]() |
|
Strumenti |
![]() |
#1 | |
Senior Member
Iscritto dal: Jun 2004
Città: Reggio Emilia
Messaggi: 592
|
[C] visualizzazione vettore
Ciao a tutti sto preparando l'esame di Info e vorrei un aiuto con un programma visto che da solo nn ci salto fuori.
Ecco cosa dovrebbe fare 1) Leggere i dati da input di un vettore V1 di N1 numeri interi pari tra A e B (inclusi), cioè il programma deve controllare che i valori immessi da input siano pari compresi tra A e B (inclusi) 2) Determinare e stampare a video il valore massimo del vettore V1 quindi determinare e stampare a video quante volte tale numero compare nel vettore. Per ora ho fatto questo Quote:
Problema n°1 con questo sistema non salta il valore ma decrementa di 1 I e quindi se sbaglio piu volte I mi va anche a numeri negativi Problema n°2 Il vettore che stampo nn è costituito solo dai numeri pari,in più mi saltano fuori numeracci casuali che non capisco (tipo 6546464) Qualche suggerimento?? ![]()
__________________
Case: CM-690, ALI:Enermax Modu82+ 525W, Procio: Intel E8400, MB: Asus P5Q-E, RAM: TeamGroup TXDD2048M800HC4, HD:VelociRaptor WD3000GLFS, VGA:Sapphire Ati HD4870, SchedaAudio: Creative Xtreme Gamer, Dissipatore ThermalTake Big Typhoon con Noctua NF-P12, Monitor: Samsung T220, Tastiera Zboard, mouse Razer Lachesis con Goliatus speed edition |
|
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
if (V[i]>=A,V[i]<=B,V[i]%2==0) Una possibile soluzione (I è già inizializzato a 0): Codice:
while (I < N1) { printf ("Inserire il valore #%d: ", I+1); scanf ("%d", &V[i]); if (V[i]>=A && V[i]<=B && V[i]%2==0) I++; }
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Jun 2004
Città: Reggio Emilia
Messaggi: 592
|
per il vettore ho risolto così
Quote:
__________________
Case: CM-690, ALI:Enermax Modu82+ 525W, Procio: Intel E8400, MB: Asus P5Q-E, RAM: TeamGroup TXDD2048M800HC4, HD:VelociRaptor WD3000GLFS, VGA:Sapphire Ati HD4870, SchedaAudio: Creative Xtreme Gamer, Dissipatore ThermalTake Big Typhoon con Noctua NF-P12, Monitor: Samsung T220, Tastiera Zboard, mouse Razer Lachesis con Goliatus speed edition |
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
while (!(V[i] % 2==0 && V[i]>=A && V[i]<=B));
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Jun 2004
Città: Reggio Emilia
Messaggi: 592
|
Ecco il programma completo e funzionante (anche se nn ve ne frega niente
![]() Quote:
__________________
Case: CM-690, ALI:Enermax Modu82+ 525W, Procio: Intel E8400, MB: Asus P5Q-E, RAM: TeamGroup TXDD2048M800HC4, HD:VelociRaptor WD3000GLFS, VGA:Sapphire Ati HD4870, SchedaAudio: Creative Xtreme Gamer, Dissipatore ThermalTake Big Typhoon con Noctua NF-P12, Monitor: Samsung T220, Tastiera Zboard, mouse Razer Lachesis con Goliatus speed edition |
|
![]() |
![]() |
![]() |
#6 | |
Bannato
Iscritto dal: Feb 2003
Messaggi: 947
|
Quote:
|
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Jun 2004
Città: Reggio Emilia
Messaggi: 592
|
uh?
a me non lo dava.... ![]()
__________________
Case: CM-690, ALI:Enermax Modu82+ 525W, Procio: Intel E8400, MB: Asus P5Q-E, RAM: TeamGroup TXDD2048M800HC4, HD:VelociRaptor WD3000GLFS, VGA:Sapphire Ati HD4870, SchedaAudio: Creative Xtreme Gamer, Dissipatore ThermalTake Big Typhoon con Noctua NF-P12, Monitor: Samsung T220, Tastiera Zboard, mouse Razer Lachesis con Goliatus speed edition |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Jun 2004
Città: Reggio Emilia
Messaggi: 592
|
Si ho provato in effetti fa come hai detto tu, io avevo provato con numeri più bassi 22 26 26 24 24 22 e funzionava
__________________
Case: CM-690, ALI:Enermax Modu82+ 525W, Procio: Intel E8400, MB: Asus P5Q-E, RAM: TeamGroup TXDD2048M800HC4, HD:VelociRaptor WD3000GLFS, VGA:Sapphire Ati HD4870, SchedaAudio: Creative Xtreme Gamer, Dissipatore ThermalTake Big Typhoon con Noctua NF-P12, Monitor: Samsung T220, Tastiera Zboard, mouse Razer Lachesis con Goliatus speed edition |
![]() |
![]() |
![]() |
#9 | |
Bannato
Iscritto dal: Feb 2003
Messaggi: 947
|
Quote:
NOTA: Il problema e' chiaramente qui: Codice:
max=V[0]; cont=1; for(I=1;I<N1;I++) if(V[i]>=max) { max=V[i]; cont=cont+1; } |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Jun 2004
Città: Reggio Emilia
Messaggi: 592
|
In effetti ci ero arrivato che potesse essere nel cont, solo che ora ho il cervello in pappa è da stamattina che studio quindi rendi pure pubblica la soluzione
![]()
__________________
Case: CM-690, ALI:Enermax Modu82+ 525W, Procio: Intel E8400, MB: Asus P5Q-E, RAM: TeamGroup TXDD2048M800HC4, HD:VelociRaptor WD3000GLFS, VGA:Sapphire Ati HD4870, SchedaAudio: Creative Xtreme Gamer, Dissipatore ThermalTake Big Typhoon con Noctua NF-P12, Monitor: Samsung T220, Tastiera Zboard, mouse Razer Lachesis con Goliatus speed edition |
![]() |
![]() |
![]() |
#11 | |
Bannato
Iscritto dal: Feb 2003
Messaggi: 947
|
Quote:
Codice:
#include <stdio.h> #include <stdlib.h> #define N1 6 #define A 20 #define B 80 void main(void) { int v[N1],i,max,cont; printf("Inserire %d numeri pari compresi tra %d e %d\n\n",N1,A,B); for(i=0;i<N1;i++) { do { printf("Numero %d: ",i+1); scanf("%d",&v[i]); } while (v[i]&1==1||v[i]<A||v[i]>B); } printf("\nVettore:"); for(i=0;i<N1;i++) printf(" %d",v[i]); for(max=v[0],cont=i=1;i<N1;i++) { if(v[i]==max) cont++; if(v[i]>max) { max=v[i]; cont=1; } } printf("\n\nIl valore massimo e' %d e compare nel vettore %d volte\n",max,cont); } |
|
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Mar 2004
Messaggi: 16053
|
Quote:
![]() ![]() forse per un "novizio" è più comprensibile! |
|
![]() |
![]() |
![]() |
#13 | |
Bannato
Iscritto dal: Feb 2003
Messaggi: 947
|
Quote:
Codice:
while (v[i]-A)=&1==1||>(B-A); Ultima modifica di repne scasb : 25-06-2006 alle 18:49. |
|
![]() |
![]() |
![]() |
#14 | |
Member
Iscritto dal: Apr 2006
Città: Trieste
Messaggi: 141
|
Quote:
Saluti
__________________
HardwareStation.net Overclockers Team ------------------------------------------------ www.GilVegliach.eu Internet, Informatica, Tecnologia |
|
![]() |
![]() |
![]() |
#15 | |
Bannato
Iscritto dal: Feb 2003
Messaggi: 947
|
Quote:
Codice:
} while ((v[i]*(A+B)-A*B-v[i]*v[i])&(int)((1<<((sizeof(int)<<3)-1))+1)); |
|
![]() |
![]() |
![]() |
#16 | |
Senior Member
Iscritto dal: Mar 2004
Messaggi: 16053
|
Quote:
hai link particolarmente interessanti in proposito? ![]() |
|
![]() |
![]() |
![]() |
#17 | |
Senior Member
Iscritto dal: Mar 2004
Messaggi: 16053
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#18 |
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
scusate la mia ignoranza, ma non ho capito a che serve
Codice:
#define N1 6 #define A 20 #define B 80 Codice:
int n1=6; int a=20; int b=80; ![]() |
![]() |
![]() |
![]() |
#19 | |
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#20 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:29.