Прежде чем задать  вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
![]() ![]()  | 
	
| Света | 
                        
			
			  
			
				 Сообщение
					#1				
			 
		 | 
	
| 
        	
        		 Группа: Пользователи Сообщений: 5 Пол: Женский Реальное имя: Света Репутация:    0           	 | 
       
			
			 Задание: В файле хранится набор целых чисел. Найти первые три наибольшие по абсолютной величине числа н после каждого из них вставить нулевой элемент. Результат сохранить в новый файл. содержимое исходного и конечного файлов распечатать на экране. программа поиска наибольших чисел должна находиться в отдельном модуле. Использование массивов недопустимо. 
			
			
					
		 | 
	
| volvo | 
                        
			
			  
			
				 Сообщение
					#2				
			 
		 | 
	
| 
        	
        		 Гость  | 
       
			
			 Вот набросок: 
			
			
					
		var После этого в переменных m1, m2, m3 будут 3 наибольших по абс. величине значения. Второй проход по файлу, опять читаем число X, и сравниваем его с каждым из максимумов. Что-то вот такого типа: if (m1 <> -maxint) and (m1 = X) then beginДальше попробуй самостоятельно.  | 
	
| amega | 
                        
			
			  
			
				 Сообщение
					#3				
			 
		 | 
	
        	
        		![]() ? ![]() ![]() ![]() Группа: Пользователи Сообщений: 283 Пол: Мужской Репутация:    4           	 | 
       
			
			 Хотел бы добавить что после прохода по файлу если он типизирован то незабыть поставить файловый указатель на начало файла после первогоо прохода по файлу там где искали максимальные значения. 
			
			
					
		 | 
	
| Lapp | 
                        
			
			  
			
				 Сообщение
					#4				
			 
		 | 
	
        	
        		![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация:    159           	 | 
       
			
			 volvo, так она вставит нули после каждого числа, равного m1, m2 и m3, тогда как в задании речь идет только о первых трех.  Нужно еще затирать их при вставке нулей.  Типа вот так: 
			
			if (m1 <> -maxint) and (m1 = X) then begin 2 amega: а зачем переставлять файловый указатель? -------------------- я - ветер, я северный холодный ветер 
					
		я час расставанья, я год возвращенья домой  | 
	
| volvo | 
                        
			
			  
			
				 Сообщение
					#5				
			 
		 | 
	
| 
        	
        		 Гость  | 
       
			
			 Цитата так она вставит нули после каждого числа, равного m1, m2 и m3, тогда как в задании речь идет только о первых трех. В задании - неоднозначность: <6, 7, 8, 3, 4, 5, 8, 7, 4> После каких элементов ставить нули? Только после 8, 8 и 7 (они же - три максимальных)? Либо после 6, 7, 8, 8, 7? (они же - три максимальных, но обязательно РАЗНЫХ, и добавлять нули после всех вхождений)? Если по первому варианту (я сначала его и рассматривал) - то и в первом фрагменте условия должны быть нестрогими: if abs(X) >= m1 then begin+ твое исправление, если по второму - то так, как во втором посте... Лично я склоняюсь ко второму варианту, иначе: <8, 8, 8, 8, 8, 8, 1, 2, 3, 4> - странно как-то, после первых трех восьмерок - нули будут, а после следующих трех (числа-то все же максимальны по модулю) уже нет... Ждем автора с уточнением...  | 
	
| amega | 
                        
			
			  
			
				 Сообщение
					#6				
			 
		 | 
	
        	
        		![]() ? ![]() ![]() ![]() Группа: Пользователи Сообщений: 283 Пол: Мужской Репутация:    4           	 | 
       
			
			 ну как мы прошли по файлу нашли 3 максимальних значения потом же нада в новый файл переписать только вставлять нули, но а считывать то с первого нада а файловый указатель то остался в конце файла онож выдаст ошыбку. Эт ели второй раз открыть в режиме ресет тогда не нада 
			
			
					
		 | 
	
| Lapp | 
                        
			
			  
			
				 Сообщение
					#7				
			 
		 | 
	
        	
        		![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация:    159           	 | 
       
			
			 В задании - неоднозначность  Мне кажется, неоднозначности нет. Ключевым словом в задании является слово "первые".  Второе толкование лишает это слово смысла - что, я полагаю, недопустимо при толковании задания.-------------------- я - ветер, я северный холодный ветер 
					
		я час расставанья, я год возвращенья домой  | 
	
![]() ![]()  | 
	
 
  | 
		Текстовая версия | 4.11.2025 18:53 |