Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите довести до ума задачу, топологическая сортировка 
:(
    Опции темы
OdinKamui
Дата 2.6.2010, 00:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 2.6.2010

Репутация: нет
Всего: нет



Помогите довести до рабочего состояния!!! Преподша дала метод(прилагается в архиве)на паскале и сказала перевести его на java, хотя я его изучаю только 1 месяц. Компилятор пишет только
--------------------Configuration: Top_sort - JDK version 1.6.0_20 <Default>--------------------
Note: M:\JCreator LE\Top_sort\Top_sort.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

Process completed.

но саму программу не запускает!!!! ПОМОГИТЕ ПОЖАЛУЙСТА!!!
Код

import java.awt.*;
import java.applet.*;
import java.util.*;


public class Top_sort extends Applet {
    int [][] A={ {0,0,0,0,0,0,0,0},
                    {1,0,0,0,0,0,0,0},
                    {0,1,0,1,0,0,1,0},
                    {0,0,0,0,1,0,0,0},
                    {0,0,0,0,0,1,0,0},
                    {0,0,0,0,0,0,0,0},
                    {0,0,0,0,1,0,0,0},
                    {0,0,1,0,0,0,0,0},
                    };
    
    Vector V= new Vector();
    int[]L;
    boolean f,f1,f2;
    int i,i1,i2,j,metka,u,k,n;
    Vector [] M;
    String s;
public void init(){
    V.addElement(1);
    V.addElement(2);
    V.addElement(3);
    V.addElement(4);
    V.addElement(5);
    V.addElement(6);
    V.addElement(7);
    V.addElement(8);
    for(j=0;j<=7;j++){
        for(i=0;i<=7;i++){
            if(A[i][j]==1){M[j].addElement(i);}
            }
            }
    metka=0;
    f=true;
    while (f==true){
        metka+=1;
        for(i=0;i<=7;i++){
            
                if((M[i]==null)&&(V.contains(i)==true)){
                    u=i;
                    L[metka]=u;
                    V.remove(u);break;}
                for(i=0;i<=7;i++){
                    if(V.contains(i)==true){
                        M[i].remove(u);}
                        f=false;
                        for(i=0;i<=7;i++){
                            if ((M[i]==null) && (V.contains(i)==true)){f=true;}
                            }
        
                
                }}}
                    
}

public void paint (Graphics g){
    for(k=0;k<=7;k++){
    g.drawString("qwe"+L[k],50,50);}
}
}


Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  ________1.rar 915,59 Kb
PM MAIL   Вверх
Nofate
Дата 2.6.2010, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 266
Регистрация: 13.10.2008

Репутация: 4
Всего: 8



Это же апплет, и запускать его нужно либо в браузере, встроив в html-код, либо appletviewer'ом.

Это сообщение отредактировал(а) Nofate - 2.6.2010, 12:02


--------------------
The future is not set, there is no fate but what we make for ourselves.
Нофейтово пространство и смежные области 
PM MAIL WWW ICQ   Вверх
OdinKamui
Дата 2.6.2010, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 2.6.2010

Репутация: нет
Всего: нет



это я понимаю, но как раз там он и не запускается!!!!
PM MAIL   Вверх
ivanovpv
Дата 2.6.2010, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Варвар
**


Профиль
Группа: Участник
Сообщений: 639
Регистрация: 26.1.2005
Где: Москва

Репутация: 4
Всего: 28



Цитата(OdinKamui @  2.6.2010,  00:41 Найти цитируемый пост)
Помогите довести до рабочего состояния!!!


Пипец какой-то... Так и понял что должен делать данный сорс - да это и не суть важно. Важно, то что он никогда не будет работать пока не будут аллоцированы массивы L и M, типа:
Код

int[] L=new int[8];
Vector[] M=new Vector[8];

//skipped бред

 for(j=0;j<=7;j++)
{
      Vector[j]=new Vector();
// дальнейший бред



Ну если все это сделать он выводит какую то ахинею типа "qwe0"

Добавлено через 2 минуты и 9 секунд
Цитата(OdinKamui @  2.6.2010,  00:41 Найти цитируемый пост)
Компилятор пишет только


Надо еще смотреть трассировку стека при вываливании ошибки... Там он и будет писать где он отловил NullPointerException


--------------------
Aut viam inveniam aut faciam
PM MAIL Skype   Вверх
OdinKamui
Дата 10.6.2010, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 2.6.2010

Репутация: нет
Всего: нет



Это топологическая сортировка!!! Метод написанный на паскале прилагается в файле!! Мне его надо перевести на JAVA!!!! вот что у меня получилось подскажите ка упростить, или как исправить!! вывод неправильный(пока не знаю почему)
Код

import java.awt.*;
import java.applet.*;
import java.util.*;


public class Massiv extends Applet {
    //           A B C D E F G H   
    int [][] A={{0,0,0,0,0,0,0,0},//A
                {1,0,0,0,0,0,0,0},//B
                {0,1,0,1,0,0,1,0},//C
                {0,0,0,0,1,0,0,0},//D
                {0,0,0,0,0,1,0,0},//E
                {0,0,0,0,0,0,0,0},//F
                {0,0,0,0,1,0,0,0},//G
                {0,0,1,0,0,0,0,0},//H
               };  
               char alf[]= {'A','B','C','D','E','F','G','H'};
               int chif[]= {1,2,3,4,5,6,7,8}; //ìíîæåñòâî âñåõ íåîòìå÷åííûõ âåðøèí
               int M [][]= new int [8][8]; 
               int V []=new int [8];
               int L []=new int [8]; 
               boolean f,f1,f2;         
               int i,u,i1,j1,j,k,metka,v=0,w=0,n,m=10;
        
    public void init() {
    // Ñîçäàíèå äëÿ êàæäîé âåðøèíû ãðàôà ìíîæåñòâ âåðøèí ñ êîòîðîé ñîåäèíåíà
        for(j=0;j<8;j++){
            n=0;
            for(i=0;i<8;i++){
                if (A[i][j]==1){M[j][n]=i;n++;} 
            };L[j]=n;}
    init_matr();
            }
        
        // ñëåä ýòàï
    public  void init_matr(){
    metka=0;
    f=true;
    while (f==true){
        for(i=0;i<8;i++){
                                          // âõîæä â chif
                                          f1=false;
                                            for(i1=0;i1<8;i1++){
                                            if (chif[i1]==i){f1=true;break;} }
                                       //êîíåö
        if((M[i]==null)&&(f1==true)){
                                     u=i;
                                     L[metka]=i;
                                     //óäàëåíèå èç ìàññèâà
                                     for(i1=0;i1<8;i1++){
                                         if (chif[i1]==i){chif[i1]=m;} }break;}
        
            }
        for(i=0;i<8;i++){
                                            // âõîæä â chif
                                            f1=false;
                                            for(i1=0;i1<8;i1++){
                                            if (chif[i1]==i){f1=true;break;}}
                                             //êîíåö
        
            if (f1==true){    for(i1=0;i1<8;i1++){
                         if (M[i][i1]==i){M[i][i1]=m;}}
            }
        } f=false;
        
        for(i=0;i<8;i++){
                                          // âõîæä â chif
                                          f1=false;
                                            for(i1=0;i1<8;i1++){
                                            if (chif[i1]==i){f1=true;break;} }
                                       //êîíåö
        if((M[i]==null)&&(f1==true)){f=true;}
        
    }
    
}metka+=1;}
    //âûâîä ìàññèâîâ
    public void paint(Graphics g) {
        //âûâîä ìàññèâà ìíîæåñòâ âåðæèí
        v=20;w=10;
        for(i=0; i<8; i++){
            g.drawString(String.valueOf(alf[i]), v, w );v+=20;
            for(j=0; j<L[i]; j++){
                g.drawString(String.valueOf(M[i][j]), v, w );v+=20;
    } v=20; w+=20;}
    v=20;
    for(i=0; i<metka; i++){
                g.drawString(String.valueOf(L[i]), v, 200 );v+=20;
    }


}

}


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0582 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.