 
			
				08.11.2016, 14:13
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 08.11.2016 
					
					
					
						Сообщений: 3
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				Нужно подсчитать сколько было переходов от + к -
			 
			
		
		
		
		var temp = [17, -9, -20, -34, -2, 32, -14, 40, -49, 45, -1, -40, -23, 14, -23, -43, 5, 2, -45, 40, -10, 25, -31, -14, -43, 33, 1, -1, 1, 24, 13, -46, -34, -17, 10, -28, -19, -5, -38, 0, -34, 15, 21, -46, -27, 41, 15, 19, -9, 27, -7, -3, -16, 36, 35, 17, -38, 41, -5, 8, -7, -37, 17, -33, -21, 7, 1, 33, -13, 27, -41, 2, -43, 14, 26, 7, -11, 29, 43, -14, -1, 36, 19, -41, -38, -10, 16, -2, -21, -36]; 
В массиве содержаться данные о ежедневной температуре в течении зимних месяцев. Нужно подсчитать сколько было циклом замерзания в этот период (замерзания это когда сегодня температура плюсовая, а завтра минусовая).
 
Помогите с алгоритмом  
Я понимаю что нужно сравнивать через for первый элемент массива со вторым и если первый + а второй - то записать как 1 замерзание, потом проверяем второй с 3м если нет перехода от - к + или если есть то не пишем, поверяем дальше - если есть опять переход от + к - пишем, и т.д. но как это кодом написать -_-  
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось EuRusik, 08.11.2016 в 14:17.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.11.2016, 14:22
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 CacheVar 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.08.2010 
					
					
					
						Сообщений: 14,298
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от EuRusik
			
		
	 | 
 
	| 
		первый элемент массива со вторым
	 | 
 
	
 
 Текущий с последующим...   
	
 
	| 
		
			Сообщение от EuRusik
			
		
	 | 
 
	| 
		если первый + а второй - то записать как 1 замерзание
	 | 
 
	
 
 Увеличить некий счетчик на единицу...    
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.11.2016, 14:27
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		EuRusik,
  
var temp = [17, -9, -20, -34, -2, 32, -14, 40, -49, 45, -1, -40, -23, 14, -23, -43, 5, 2, -45, 40, -10, 25, -31, -14, -43, 33, 1, -1, 1, 24, 13, -46, -34, -17, 10, -28, -19, -5, -38, 0, -34, 15, 21, -46, -27, 41, 15, 19, -9, 27, -7, -3, -16, 36, 35, 17, -38, 41, -5, 8, -7, -37, 17, -33, -21, 7, 1, 33, -13, 27, -41, 2, -43, 14, 26, 7, -11, 29, 43, -14, -1, 36, 19, -41, -38, -10, 16, -2, -21, -36];
var len = temp.filter(function(a,i) {
   return a > 0 &&  temp[++i] && temp[i] < 0
}).length;
alert(len)
 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
	
		
	
		
		
		
			
			 
			
				08.11.2016, 15:23
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.11.2015 
					
					
					
						Сообщений: 2,899
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 EuRusik, 
 А переход от 0 к минусу считается? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.11.2016, 15:29
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 08.11.2016 
					
					
					
						Сообщений: 3
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Dilettante_Pro, Нет 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.11.2016, 15:30
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 08.11.2016 
					
					
					
						Сообщений: 3
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		код оказался простой как пробка    
var counter = 0;
    var day = 0;
    for(var i = 0; i < temp.length; i++)
    {
        if (temp[i] > 0 && temp[i + 1] < 0)
        {
            counter++;
            day = i;
        }
        console.log('Замерзание: ' + counter + ' день: ' + day);
    }
 
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось EuRusik, 08.11.2016 в 15:44.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				09.11.2016, 08:43
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 CacheVar 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.08.2010 
					
					
					
						Сообщений: 14,298
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от EuRusik
			
		
	 | 
 
	| 
		код оказался простой как пробка
	 | 
 
	
 
 Разумеется!    
Это ведь самые первые тренировочные задания на массивы и циклы... Т.е. букварские упражнения на понимание.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 
 
 
 
	 | 
 
 
 |