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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.10.2010, 17:44   #1
ArniLand
Пользователь
 
Регистрация: 27.06.2009
Сообщений: 89
По умолчанию сортировка вставкой и с убыванием сумм элементов массива

Написал программу которая сортирует элементы массива с убыванием сумм элементов массива выдает ошибку при сравнение в этой суммы индексов
Код:
if(symm(i)>symm(j)
- то есть не правильное преобразование типов как я понимаю, подскажите как это исправить
ошибка:
method symm in class laba13.Row cannot be applied to given types
required: int[]
found: int

Код программы:
Код:
package laba13;
import java.io.*;
import java.lang.*;
public class Row {
    public static void InsertionSort(int[] array)
{
    int i;

    for (i = 1; i < array.length; i++)
    {
        int j;
        int buf = array[i];
        for (j = i - 1; j >= 0; j--)
        {
            if(symm(i)>symm(j))
                break;
            array[j + 1] = array[j];

        }

        array[j + 1] = buf;


    }
}
    
    public static int symm (int mass[]){
    int sum =0;
    for(int a=0;a<mass.length;a++)
     {

         sum= sum + mass[a];

    }
    System.out.println("symma chisel ravna: "+sum);
    return sum;
    }
    public static void main(String arg[])
    {
        char[] mass={'1','3','5','6','8'};
        int[] copymass=new int[mass.length];


for(int a=0;a<mass.length;a++)

{
    copymass[a]=Character.digit(mass[a], 10);
}
InsertionSort(copymass);
symm(copymass);
for(int b=0;b<copymass.length;b++)
{
    System.out.println("do->"+mass[b]+"\tposle->"+copymass[b]);
}
     }

}
ArniLand вне форума Ответить с цитированием
Старый 18.10.2010, 04:43   #2
JAD!
Форумчанин
 
Регистрация: 15.05.2009
Сообщений: 118
По умолчанию

Блин, у тебя symm принимает int[], тобишь массив.. конечно ошибка, ты же отправляешь туда просто инт, а не массив.
Мне впадло разбираться в алгоритме, хоть бы коменты к методам понаписывал..
Если тебе нужно, чтобы метод symm считал сумму до и-того элемента массива, то тебе нужно передавать туда массив и номер этот i,до которого ты считаешь сумму.
If (что-то чинить)
{(надо знать его конструкцию, что-то в этом понимать)->чинить;} else {платите ваши деньги;}
JAD! вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сортировка вставкой и сумма элементов массива ArniLand Общие вопросы по Java, Java SE, Kotlin 0 26.09.2010 17:48
Сортировка элементов массива по убыванию nadminka Общие вопросы .NET 1 18.05.2010 23:08
сортировка элементов массива Dr@gon Помощь студентам 2 03.03.2010 19:49
сортировка стоблцов матрицы по убыванию сумм их элементов rev1ver Паскаль, Turbo Pascal, PascalABC.NET 6 14.01.2009 19:18