eSERCIZIO c

Strumenti informatici per la matematica applicata, le simulazioni, il disegno: Mathcad, Matlab, Scilab, Microcap, PSpice, AutoCad ...

Moderatori: Foto Utenteg.schgor, Foto Utentedimaios

Avatar utente
Foto Utentepixx87
-4 2
Messaggi: 47
Iscritto il: 6 apr 2012, 14:54
0
voti

[21] Re: eSERCIZIO c

Messaggioda Foto Utentepixx87 » 15 lug 2012, 15:06

certo, ma sicuramente ho sbagliato qualcosa perché inserendo i dati..i risultati sono sbagliati.
del tipo mettendo sul primo vettore(sequenza) {5,1,6,8,0,0}, nel secondo {2,5,4,3,0,0}
dovrebbe restituire {5,8}.. invece inventa numeri..
è solo per questo che ho riscritto ..non pensavo di meritare -4 punti.
:oops:

Avatar utente
Foto UtenteRenzoDF
55,9k 8 12 13
G.Master EY
G.Master EY
Messaggi: 13189
Iscritto il: 4 ott 2008, 9:55
0
voti

[22] Re: eSERCIZIO c

Messaggioda Foto UtenteRenzoDF » 15 lug 2012, 15:15

pixx87 ha scritto:... invece inventa numeri...

Io prima di preoccuparmi di questo mi chiederei perché "ne vuole sempre sei" anche se lo informo
che vorrei inserirne di meno. ;-)

pixx87 ha scritto: ...non pensavo di meritare -4 punti.

Non preoccuparti dei punti, quelli vanno e vengono e non servono a nulla, o per meglio dire io non ho ancora capito quando e come vadano usati, pensa che ultimamente ho imparato che si mettono positivi anche a chi uppa. :-)
"Il circuito ha sempre ragione" (Luigi Malesani)

Avatar utente
Foto Utentepixx87
-4 2
Messaggi: 47
Iscritto il: 6 apr 2012, 14:54
0
voti

[23] Re: eSERCIZIO c

Messaggioda Foto Utentepixx87 » 15 lug 2012, 15:18

Ah..ok.
il problema me lo sono posta, ma inserendo ugualmente 6 numeri..i risultati non sono quelli giusti..(ho provato lo stesso :cry: )

Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
Messaggi: 15754
Iscritto il: 16 dic 2009, 10:10
Località: Torino - 3° pianeta del Sistema Solare
2
voti

[24] Re: eSERCIZIO c

Messaggioda Foto UtenteTardoFreak » 15 lug 2012, 15:24

Senti, ti ho detto di mettere il codice fra i tag "code". Ne hai messo solo una parte.
Porta pazienza ma non ho voglia di leggermi il codice scritto ad minkiam, soprattutto di Domenica.

sorry
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.

Avatar utente
Foto Utentepixx87
-4 2
Messaggi: 47
Iscritto il: 6 apr 2012, 14:54
0
voti

[25] Re: eSERCIZIO c

Messaggioda Foto Utentepixx87 » 15 lug 2012, 15:26

scusa..ma pensavo di averlo messo..
non pensavo ti arrabbiassi..scusa ancora!

Avatar utente
Foto Utentepixx87
-4 2
Messaggi: 47
Iscritto il: 6 apr 2012, 14:54
0
voti

[26] Re: eSERCIZIO c

Messaggioda Foto Utentepixx87 » 15 lug 2012, 15:27

Codice: Seleziona tutto

#include <stdio.h>
#define N 6
int almeno_doppio (int n1,int n2){
int valore;
if (n1>2*n2) valore = 1;
else valore =0;
return valore;
}
main () {
     int i,vettore1[N],vettore2[N],vettore3[N],max;
   
    do{
printf("Inserisci un numero max minore di sei\n:");
scanf("%d",&max);
}while(max>6);
               
     printf ("ora inserisci la prima sequenza ");
     for (i=0;i<N;i++)
     scanf ("%d",& vettore1[i]);
     printf ("inserisci ora la seconda sequenza:");
     for (i=0;i<N;i++)
     scanf ("%d",& vettore2[i]);
     for (i=0;i<N;i++){
         if (almeno_doppio(vettore1[i],vettore2[i]))
     vettore3[i]=vettore1[i];
     }
     printf("il terzo vettore e':");
     for (i=0;i<N;i++)
     
     printf("%d",vettore3[i]);
     
     printf ("\ricapitolando:");
  for (i=0;i<N;i++)
     printf ("prima sequenza %d",vettore1[i]);
  for (i=0;i<N;i++)
     printf ("\n seconda sequenza %d",vettore2[i]);
  for (i=0;i<N;i++)
     printf ("\n il terzo ricavatose sono stata brava è %d",vettore3[i]);
     scanf ("%d");
     }



Ancora scusa..non sono una persona molto esperta.. :oops:

Avatar utente
Foto UtenteRenzoDF
55,9k 8 12 13
G.Master EY
G.Master EY
Messaggi: 13189
Iscritto il: 4 ott 2008, 9:55
0
voti

[27] Re: eSERCIZIO c

Messaggioda Foto UtenteRenzoDF » 15 lug 2012, 17:26

Allora tanto per darti una dritta a proposito dei "numeri a caso" per i quali ti lamenti, posso chiederti che valore assumono secondo te gli elementi di un vettore non inizializzato?

Per dartene una seconda, ... non sarebbe meglio che quel max ci servisse per qualche for?

Per dartene una terza ... cosa vorresti fare uscire a schermo con quelle ultime righe?
(vedo ora che hai cambiato codice ad ogni modo ripetere il commento per sei volte fa venire l'orticaria ;-) )
"Il circuito ha sempre ragione" (Luigi Malesani)

Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
Messaggi: 15754
Iscritto il: 16 dic 2009, 10:10
Località: Torino - 3° pianeta del Sistema Solare
1
voti

[28] Re: eSERCIZIO c

Messaggioda Foto UtenteTardoFreak » 15 lug 2012, 18:50

Con le dritte di Foto UtenteRenzoDF risolvi il tuo problema.
Ma io ne vedo un altro non meno importante: il modo di scrivere il programma.
Ora te l' ho scritto bene (ed aggiunto un commento che dovrebbe farti riflettere).

Codice: Seleziona tutto

#include <stdio.h>
#define N 6

int almeno_doppio (int n1,int n2)
{
  int valore;
 
  if (n1>2*n2) valore = 1; else valore =0;
  return valore;
}

main ()
{
  int i,vettore1[N],vettore2[N],vettore3[N],max;
   
  do
  {
    printf("Inserisci un numero max minore di sei\n:");
    scanf("%d",&max);
  } while(max>6);
               
  printf ("ora inserisci la prima sequenza ");
  for (i=0;i<N;i++) scanf ("%d",& vettore1[i]);
  printf ("inserisci ora la seconda sequenza:");

  for (i=0;i<N;i++) scanf ("%d",& vettore2[i]);
  for (i=0;i<N;i++)
  {
    if (almeno_doppio(vettore1[i],vettore2[i])) vettore3[i]=vettore1[i];
    // e se non lo è cosa ci metti come valore?
  }
  printf("il terzo vettore e':");
  for (i=0;i<N;i++) printf("%d",vettore3[i]);

  printf ("\ricapitolando:");
  for (i=0;i<N;i++) printf ("prima sequenza %d",vettore1[i]);
  for (i=0;i<N;i++) printf ("\n seconda sequenza %d",vettore2[i]);
  for (i=0;i<N;i++)
    printf ("\n il terzo ricavatose sono stata brava è %d",vettore3[i]);

  scanf ("%d");
}
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.

Avatar utente
Foto UtenteRenzoDF
55,9k 8 12 13
G.Master EY
G.Master EY
Messaggi: 13189
Iscritto il: 4 ott 2008, 9:55
1
voti

[29] Re: eSERCIZIO c

Messaggioda Foto UtenteRenzoDF » 15 lug 2012, 22:05

Usando anche il povero max ...

Codice: Seleziona tutto

#include <stdio.h>
#include <conio.h>
#define N 6

int almeno_doppio (int n1,int n2){
int valore=0;
if (n1>2*n2) valore = 1;
return valore;
}

int main ()
{
     int i,max;
     int vettore1[N],vettore2[N];
     int vettore3[N]={0};

    do
    {
     printf("\n Inserire numero elementi sequenza (minore di 6) n= ");
     scanf("%d",&max);
    }while(max>=6);
               
     printf ("\n\n Inserire la prima sequenza: ");
     for (i=0;i<max;i++)
     scanf (" %d",& vettore1[i]);
     
     printf ("\n Inserire ora la seconda sequenza: ");
     for (i=0;i<max;i++)
     scanf (" %d",& vettore2[i]);
     
     for (i=0;i<N;i++)
     {
     if (almeno_doppio(vettore1[i],vettore2[i]))
     vettore3[i]=vettore1[i];
     }
         
     printf ("\n Ricapitolando:");
     printf ("\n\n Prima sequenza");
     for (i=0;i<max;i++)
     printf ("\n% d",vettore1[i]);
     printf ("\n\n Seconda sequenza");
     for (i=0;i<max;i++)
     printf ("\n% d",vettore2[i]);
     printf ("\n\n Il vettore risultante e': ");
     for (i=0;i<max;i++)
     printf ("\n %d",vettore3[i]);
   
     getch();
   return 0;
}

"Il circuito ha sempre ragione" (Luigi Malesani)

Avatar utente
Foto Utentepixx87
-4 2
Messaggi: 47
Iscritto il: 6 apr 2012, 14:54
0
voti

[30] Re: eSERCIZIO c

Messaggioda Foto Utentepixx87 » 15 lug 2012, 23:38

grazie mille!!
ho visto solo ora...
:ok:


Torna a “Programmi applicativi: simulatori, CAD ed altro”