All pastes #815904 Raw Edit

HubeProg2

public text v1 · immutable
·published 2007-12-14 14:06 UTC
rendered paste body
//Alberto Franco 558191
#include <iostream>

using namespace std;

int main()
{
  int A[1000];
  int n,T;
  int a=0;
  int b=(-1);
  int S=0;


  cout << "Dammi una sequenza di al piu' 1000 interi diversi da 0 (se la sequenza e' piu' corta di 1000 segnala la fine della sequenza aggiungendo il valore 0 come sentinella):" << endl;
  cin >> A[0];
  /*R:n<1000, A[0..n]!=0*/
  for(n=1;(n<1000)&&(A[n-1]!=0); n++ ) {
    cin >> A[n]; 
  }
  


  
  /*R: 0<=i<=a<=b<=n S = sum_a-b*/
  for(int i=0;i<=n;i++){
    T=0;
	/*R1:  S = sum_a-b >= T = sum_i-c */
    for(int c=i;c<=n;c++){
      T=T+A[c];
    
      if(T>S){
	a=i;
	b=c;
	S=T;
      }
    }
  }

  cout << "Il segmento di array di somma massima e' quello compreso trs i due indici a="<< a <<"e b="<< b <<"ed il valore della somma e':"<< S << endl;
  return 0;
}