Problem z tablicą dynamiczną chyba

0
#include <iostream>
         
using namespace std;

main()
{     
	int unsigned long ilosc;
	cin >> ilosc;
	int *szczyty = new int[ilosc];
	for(int unsigned long i=0; i<ilosc; i++)
		cin >> szczyty[i];
		      
	int unsigned long maxz, maxw;
	int unsigned long j, k;		  
	
	for(k=0; k<ilosc; k++)						//po koleji all punkty
	{
		maxz = szczyty[k]; 			// najbardziej na zachód i wschód jest wpierw
	  	maxw = szczyty[k];			// punkt którego bierzemy 
	  	j = k;						
	  	do
		{	
				if(szczyty[j]>maxw)				//spr które na wschód wyższe
	  					maxw=szczyty[j];
	  			j++;
		} while (j < ilosc-1);     
	
		j = k;	
		
	  	do
		{
				if(szczyty[j]>maxz)				//spr które na zachód wyższe
	  					maxz=szczyty[j];
	  			j--;
		} while (j >= 0); 
		
		cout << maxz << " ";
		cout << maxw << endl;
	} 
	delete [] szczyty;
}
 

czemu mi się po uruchomieniu i wpisaniu wszystkich danych zawiesza program ?

1

W drugiej pętli do while zmienna j z 0 przeskakuje na liczbę w okolicach 4326679 więc pętla się nie zatrzyma. Zmień

int unsigned long j,k; 

na long int k,j;


W pierwszej pętli do while zmień warunek stopu na 
```cpp
 j<ilosc

bo nie sprawdzasz ostatniego elementu

1

zmień te okropne pętle do..while na 2 pętle for

Masz również zły przypadek bo błędnie zakładasz że maxz = szczyty[k] i maxw szczyty[k]...

wpisz sobie dla 5 prób : 5, 1, 2, 3, 4;
maxz = szczyty[k] , k = 0 (1 obieg pętli).
maxw = szczyty[k], k = 0(1 obieg pętli).

maxz zostanie będzie równe 5 natomiast maxw ? Największy szczyt na wschód czyli pozostaje nam do wybory 1,2,3,4
niestety ustawiłeś maxw na 5, zatem największym szczytem na wschód będzie 5 a takiego nie ma ;)

0

"maxz zostanie będzie równe 5 natomiast maxw ? Największy szczyt na wschód czyli pozostaje nam do wybory 1,2,3,4
niestety ustawiłeś maxw na 5, zatem największym szczytem na wschód będzie 5 a takiego nie ma"

To jest ok, w treści zadania jasno stoi że jak nie ma wyższego szczytu na zachód lub wschód to sprawdzany jest najwyższym

ancymon zaraz sprawdze

0

wszystko smiga (!) ^^

Dzięki wielkie za pomoc panowie

1 użytkowników online, w tym zalogowanych: 0, gości: 1