Pages: [1]   Go Down
Print
Author Topic: sequenza5numeri contigui in ordine crescente  (Read 1334 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
ChiaraT91S
Matricola
*
Offline Offline

Posts: 64


« on: 06-12-2012, 19:51:31 »

Code:
public class contigui5
{
public static void main(String[] args)
{
final int n=100;
int i=0, cont=0, j=1;
long [] v= new long[n];
boolean crescente5=false;
for(i=0; i<v.length;i++)
{
v[i]=(long)(Math.random()*9);
System.out.print(v[i]+" ");
}
System.out.println();
i=0;
while(i<n-1)
{
while(i<n-1 && cont<5)
{
if(v[i]<v[j])
{
j++;
i++;
cont++;
if(cont==5) crescente5=true;
}
else
{
j++;
i++;
cont=0;
}
}i++;
}
if(crescente5==true) System.out.println("Sono stati trovati almeno 5 valori contigui");
   else System.out.println("NON sono stati trovati almeno 5 valori contigui");
}
}
ecco la mia versione ..
Logged
ChessPlayer
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 154

Checkmate


« Reply #1 on: 06-12-2012, 20:25:43 »

Potresti darmi il testo dell'esercizio in modo da poterlo svolgere e confrontare con il tuo ?    pc
Logged

Ad ogni azione corrisponde una reazione uguale e contraria.
ChiaraT91S
Matricola
*
Offline Offline

Posts: 64


« Reply #2 on: 06-12-2012, 20:58:51 »

Potresti darmi il testo dell'esercizio in modo da poterlo svolgere e confrontare con il tuo ?    pc

 
costruire un metodo che dato in input un array di long restituisce in output un boolean nel caso in cui viene trovata una sequenza crescente di almeno 5numeri contigui (es: 8 6 1 3 7 9 55..in questo caso la sequenza è 1 3 7 9 55).
Logged
ChessPlayer
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 154

Checkmate


« Reply #3 on: 06-12-2012, 21:45:40 »

dato in input un array di long ...

Array mono o bidimensionale ? Se bidimensionale, sequenze considerate solo orizzontali o anche verticali?
Logged

Ad ogni azione corrisponde una reazione uguale e contraria.
ChiaraT91S
Matricola
*
Offline Offline

Posts: 64


« Reply #4 on: 06-12-2012, 22:02:27 »

dato in input un array di long ...

Array mono o bidimensionale ? Se bidimensionale, sequenze considerate solo orizzontali o anche verticali?
Mono 
Logged
ChessPlayer
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 154

Checkmate


« Reply #5 on: 06-12-2012, 22:05:18 »

Perfetto grazie   

Questo è l metodo da me scritto:

public class _071212
{
   boolean _071212(long[]A){
      boolean ok=false;
      int c=0;
      for(int n=0;n<A.length-1;n++){
         if(A[n]<A[n+1])   c++;
         else   c=0;
         if(c==5)   ok=true;
      }
      return ok;      
   }
}
Logged

Ad ogni azione corrisponde una reazione uguale e contraria.
tobia92
Matricola
*
Offline Offline

Posts: 58



« Reply #6 on: 06-12-2012, 23:02:59 »

ChessPlayer:
se c=0  allora devi fare il controllo if(c==4)  altrimenti ne conti 6 e non 5.

poi per il resto ok, la variabile booleana si poteva anche evitare volendo 

Code:
public boolean conta5(long a[]){
int cont=1;
for(int i=0;i<a.length-1;i++){
if(a[i]<a[i+1]) cont++;
else cont=1;
if(cont==5) return true;
}
return false;
}
Logged
DarioL19F
Matricola
*
Offline Offline

Posts: 90


« Reply #7 on: 07-12-2012, 00:37:21 »

quello che non ho capito io è se il prof nella prova itinere vuole scritto proprio un metodo piccolo (per intenderci come scritto da chess) o vuole proprio tutto il programma come se lo dovessimo compilare( come scritto da chiara)
qualcuno sa illuminarmi?
Logged
ChessPlayer
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 154

Checkmate


« Reply #8 on: 07-12-2012, 13:40:04 »

ChessPlayer:
se c=0  allora devi fare il controllo if(c==4)  altrimenti ne conti 6 e non 5.


Grazie Tobia92   univ errore dovuto alla stanchezza xD

quello che non ho capito io è se il prof nella prova itinere vuole scritto proprio un metodo piccolo (per intenderci come scritto da chess) o vuole proprio tutto il programma come se lo dovessimo compilare( come scritto da chiara)
qualcuno sa illuminarmi?


Per quanto riguarda la prova in itinere: bisogna scrivere un metodo, non si deve eseguire niente quindi non deve essere dichiarata nessuna classe e nessun main.
Logged

Ad ogni azione corrisponde una reazione uguale e contraria.
Zallak
Matricola
*
Offline Offline

Posts: 72


« Reply #9 on: 09-12-2012, 18:36:32 »

Io ho scritto questo..pare che funzioni ma lo posto comunque per conferma 

Code:
public class Sequenza5NumCrescenti
{
public static void main (String[] args)
{
final int LUNGHEZZA = 10;
long a[] = new long [LUNGHEZZA];
int ia;

for(ia = 0; ia < a.length; ia++)
{
a[ia] = (long)  (Math.random()*1000000000000001l);
}

System.out.println("L'array a:");

for(ia = 0; ia < a.length; ia++)
{
System.out.print(a[ia]+" ");
}

System.out.println();

int c = 0;
boolean trovato = false;

for(ia = 0; ia < a.length - 1 && c < 4; ia++)
{
if(a[ia] < a[(ia + 1)])
{
c++;
}

else
{
c = 0;
}
}

if(c == 4)
{
trovato = true;
}

System.out.println(trovato);

}
}
Logged
Pages: [1]   Go Up
Print
Jump to: