|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Dec 2008
Messaggi: 21
|
[C/C++]aiuto esercizio!
ciao a tutti!..ho un altro problema su un esercizio da proporvi...in esecuzione non va(non finisce più di inserire numeri)..avevo da creare una funzione che, presi come paramentri un array di interi V e il numero n di elementi dell'array, determinasse la sottosequenza di V di interi negativi con il maggior numero di elementi e stampasse il numero di elementi di questa sequenza...ad esempio se V={0,1,-1,-2,9,0,7,-1,-2,-3} la sottosequenza sarebbe {-1,-2,-3}e quindi il numero di elementi sarebbe tre...ho creato anche un semplice programma principale per testare il funzionamento della funzione...grazie del vostro aiuto!
Codice:
#include <iostream>
using namespace std;
int conta (int V[],int n)
{int i=0;
int j=0,l1=0,l2=0;
int S1[100];
int S2[100];
int a=0;
while(V[i]<0 && j<100)
{S1[j]=V[i];
l1++;
j++;
i++;
}
i++;
do
{while(V[i]<0 && a<100)
{S2[a]=V[i];
l2++;
a++;
i++;
}
if(l2>l1){l1=l2;
for(int b=0;b<100;b++)
for(int m=0;m<100;m++)
S1[b]=S2[m];
}
i++;
}
while(i<n);
return l1;
}
int main()
{int A[10];
int x,y;
int i=0;
cout<<"inserisci una sequenza di numeri"<<endl;
cin>>x;
do
{A[i]=x;
i++;
cin>>x;
}while(i<10);
y=conta(A,10);
cout<<y;
cin>>x;
return 0;
}
Ultima modifica di RikyToro : 08-01-2009 alle 20:22. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Feb 2004
Messaggi: 1454
|
usa il for quando c'è un contatore nel loop, con il while rischi di fare confusione o di non inizializzarlo.
ad esempio il tuo loop di inserimento dati fa 10 cicli, l'ultimo dei quali è inutilizzato perché sono già stati immessi tutti gli elementi dell'array. per il resto a me l'immissione funziona bene. sulla funzione non so che dirti perché mi sembra inutilmente complicata, a che ti servono due array da 100 elementi e tutti quei cicli? se V è di 10 elementi non puoi fare 100 cicli in cui incrementi i e usi V[i]! con l'input da te proposto {0,1,-1,-2,9,0,7,-1,-2,-3} il risultato è 5... Ultima modifica di Furla : 08-01-2009 alle 23:34. |
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Dec 2008
Messaggi: 21
|
è che il problema non è contare quanti elementi negativi ci sono nell'array..ma trovare la sottosequenza con il maggior numero di negativi che in questo caso è -1,-2,-3 e dire da quanti elementi è composta...per quello non sapevo bene come fare...
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Dopo che hai trovato l'algoritmo ti metti a scrivere il codice
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:37.




















