Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2015, 13:51   #1
burn86
 
Регистрация: 24.03.2015
Сообщений: 6
По умолчанию В каждом из массивов X(Nx), Y(Ny) и Z(Nz) вещественных чисел найти среди отрицательных элементов максимальный элемент (элементы) и

День добрый! помогите решить задачу в java. задача: В каждом из массивов X(Nx), Y(Ny) и Z(Nz) вещественных чисел найти среди
отрицательных элементов максимальный элемент (элементы) и его индекс
(индексы).
burn86 вне форума Ответить с цитированием
Старый 24.03.2015, 13:55   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А ввод массива показать сможешь кодом?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.03.2015, 14:01   #3
burn86
 
Регистрация: 24.03.2015
Сообщений: 6
По умолчанию все что есть

Код:
public class variant8 {
	 public static void main(String[] args) {
	        int x[] = {-9999, -9999, 65, 5, 5656, 89, 4, 8, 2, 4343, 0}; 
	      
	        int max = 0;
	        int i;
	         
	        for (i = 0; i < x.length; i++) {
	            if (x[i] < 0) {
	                max = x[i];
	                break;
	        
	            }
	        }
	        for (; i < x.length; i++) {
	            if (x[i] < 0 && x[i] > max)
	                max = x[i];
	            
	        }
	        if (max == 0)
	            System.out.println("Отрицательных элементов не найдено");
	        else

	        System.out.println(max);
	        
	    }
		
			
			 
			
	}

Последний раз редактировалось Stilet; 24.03.2015 в 14:16.
burn86 вне форума Ответить с цитированием
Старый 24.03.2015, 14:23   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну. Нормуль. У тебя почти все есть.
Добавь переменные индекса и получишь что-то типа:
Код:
public class variant8 {
   public static void fmax(int[] a){
     int max=0, i;
     for(i=0;i<a.length;i++) if(a[i]<0 && ((max==0) || a[i]>a[max] ) max=i;
     if (max == 0)
	            System.out.println("Отрицательных элементов не найдено");
	        else

	        System.out.println(max); System.out.println(a[max]);
   }

	 public static void main(String[] args) {
	        double x[] = {-9999, -9999, 65, 5, 5656, 89, 4, 8, 2, 4343, 0}; 
	        double y[] = {-9999, -9999, 65, 5, 5656, 89, 4, 8, 2, 4343, 0}; 
	        double z[] = {-9999, -9999, 65, 5, 5656, 89, 4, 8, 2, 4343, 0}; 
                fmax(x);fmax(y);fmax(z);
	        
	}
}
Надеюсь, пояснять не надо, что это в качестве идеи?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.03.2015, 17:47   #5
burn86
 
Регистрация: 24.03.2015
Сообщений: 6
Подмигивание

Спасибо Stilet! завтра попробую добавить! отпишусь
burn86 вне форума Ответить с цитированием
Старый 24.03.2015, 19:58   #6
burn86
 
Регистрация: 24.03.2015
Сообщений: 6
По умолчанию stilet, можешь сказать что не так в этом коде? отрицательные выдает но не те что надо

Код:
package guint;

public class variant8 {

 public static void main(String[] args) {
 int[] x = {-9999, -9, 65, 5, 5656, 89, 4, 8, 2, 4343, 0}; 
 int[] y = {-9999, -9999, 65, 5, 5656, 89, 4, 8, 2, 4343, 0}; 
 int[] z = {-9999, -999, 65, 5, 5656, 89, 4, 8, 2, 4343, 0}; 
 fmax(x);
 fmax(y);
 fmax(z);

 }

 public static void fmax(int[] a){

 int max=0; 
 int i;
 for (i = 0; i < a.length; i++) {
 if (a[i] < 0) {
 max = i;
 break;
 }
 }
 for (; i < a.length; i++) {
 if (a[i] < 0 && a[i] > max)
 max = i;
 }


 if (max == 0)
 System.out.println("Отрицательных элементов не найдено");
else

 System.out.println(max);
 System.out.println(a[max]);
 }


}

Последний раз редактировалось Stilet; 24.03.2015 в 21:02.
burn86 вне форума Ответить с цитированием
Старый 24.03.2015, 21:13   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
отрицательные выдает но не те что надо
Ну да, а гн Отладчик тебя забанил?
Бери мой пример, все равно то что ты написал условию задачи никак не отвечает, хоть и является отправной точкой.

Я на всяк случай поправлю мелкие ошибки в своем же примере:
Код:
public class HelloWorld{
 public static void fmax(double[] a){
     int max=0, i;
     for(i=0;i<a.length;i++) if(a[i]<0 && ((max==0) || a[i]>a[max] )) max=i;
     if (max == 0)
	            System.out.println("-404 Minus not found");
	        else

	        System.out.println(max); System.out.println(a[max]);
   }
   
     public static void main(String []args){
          double x[] = {-9999, -9, 65, 5, 5656, 89, 4, 8, 2, 4343, 0}; 
	        double y[] = {-9999, -999, 65, 5, 5656, 89, -4, 8, 2, 4343, 0}; 
	        double z[] = {-9999, -99, 65, 5, 5656, 89, 4, 8, 2, 4343, 0}; 
                fmax(x);fmax(y);fmax(z);
     }
}
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.03.2015, 21:49   #8
burn86
 
Регистрация: 24.03.2015
Сообщений: 6
По умолчанию

Спасибо Stilet! отпишусь
burn86 вне форума Ответить с цитированием
Старый 24.03.2015, 21:59   #9
burn86
 
Регистрация: 24.03.2015
Сообщений: 6
По умолчанию

Stilet, а как сделать если в массиве 2 одинаковых числа и он должен вывести 2 числа и индексы к ним? эт к этой же задаче надо....можешь код отправить?
burn86 вне форума Ответить с цитированием
Старый 27.03.2015, 12:30   #10
Mr_ViK
Форумчанин
 
Регистрация: 12.08.2011
Сообщений: 124
По умолчанию

Выполнить функцию, вырезать элемент из массива(либо его копии) по полученному индексу и выполнить ту же функцию еще раз. Сравнить полученные результаты, если значения элементов равны, то провернуть то же самое еще раз. Ну надо не забыть индексы сохранить.. Вариант по времени длительный, зато логичный.
Mr_ViK вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти минимальный элемент среди элементов, находящихся в строках, в которых положительных элементов меньше, чем отрицательных. Kirillgr Помощь студентам 19 03.02.2014 01:50
одномерный массив размера n. Найти максимальный элемент массива среди элементов массива,после первого отрицательного (Паскаль) Элиза12345 Паскаль, Turbo Pascal, PascalABC.NET 7 13.11.2012 16:03
В массиве целых чисел N, найти максимальный элемент и поменять с первым элементом.(элементы массива вводятся с клавиатуры); максим2012 Паскаль, Turbo Pascal, PascalABC.NET 4 24.10.2012 21:13
массиве X(N) найти максимальный элемент среди положительных элементов массива и минимальный среди отрицательных элементов. sorok Общие вопросы C/C++ 2 20.03.2012 12:18
найти максимальный элемент массива среди отрицательных чисел Gluck231 Паскаль, Turbo Pascal, PascalABC.NET 8 25.10.2011 00:11