-
Posts
9 -
Cadastrado em
-
Última visita
Reputação
2-
Olá, preciso fazer uma função recursiva em C que consiga simular uma pstree, ou seja, imagine os números abaixo como processo. 1 (pai) 2 (filho de 1) 3 (filho de 1) 4 (filho de 3) 5 (filho de 4) 6 (filho de 3) etc.... Fiz o seguinte código: void imprime_Pstree(int i, int ntabs) { int k = 0, j = 0, quantProc = 0; int procAtual; // Imprime a quantidade de tabs for(k = 0; k < ntabs; k++) printf("\t"); // A função preenche um vetor com os vizinhos de i. Por exemplo, se i = 2 e os vizinhos de 2 são 3, 4, 5, .. // O quantProc é o tamanho do vetor quantProc = preenche_vetor(i); // Imprime o nome do processo imprimeNomeProcesso(i); for(j = 0; j < quantProc; j++) imprime_Pstree(processos[j], ntabs+1); } Mas ele imprime somente o pai (chamada da função recursiva) e o filho do mesmo, que não possui outros filhos. Sei que falta outra chamada pra função recursiva voltar no pai do filho anterior, mas, como ? Desde já agradeço.
-
Olá, Suponhamos que eu crie um arquivo: arquivo.txt com o usuário <user> (tipo: seuUsuario) ou através do comando sudo (root). Qual função permite que eu descubra o usuário que criou o arquivo em C? Em sala meu professor disse que existe, mas não sabe dizer qual é... Preciso disso para saber qual usuário criou determinados arquivos no SO. Desde já agradeço.
-
Olá, sou iniciante em Sistemas Operacionais e tenho que fazer um trabalho de faculdade e estou com uma dúvida... Preciso fazer um programa em c que leia processos em sequência identificando o PID e nome do programa, o usuário que está executando o mesmo e o estado do processo. No entanto, achei na pasta /proc/PID/stat as informações do o PID e nome do programa, o estado do processo, que são as três primeiras informações do arquivo. Mas, não achei o usuário que está executando o mesmo em nenhuma pasta em /proc/PID Onde encontro tal informação? No final a tabela tem que ser assim: PID | User | PROCNAME | Estado | -------|---------|----------|--------| 1242 | username| yes | S | Ou seja, com o caminho /proc/PID/stat acho o "arquivo" que leio em C e imprimo o PID, Procname e Estado. Mas não achei nada que me informe o User. OBS: /proc/PID/stat, O PID é o ID do processo, tipo /proc/2/stat Desde já agradeço..
-
Tenho um tipo jogador que possui um id e nome, exemplo: 1 - João 2 - Maria 3 - José Salvei todos em um vetor de jogadores. No entanto, preciso trocar a ordem deles a partir de um jogador, exemplo: Escolhi 2 - Maria O vetor ficaria assim: 2 - Maria | 3 - José | 1 - João Escolhi 1 - João O vetor ficaria assim: 1 - João | 2 - Maria | 3 - José No entanto, estou com problemas no método que faz isso: // Reorganiza os jogadores protected void ReorganizaJogadores(LinkedList<Jogador> listaJogadores, Jogador j1) { System.out.println("---> O jogador que ganhou a rodada foi o: "); System.out.println("---> Nome: " + j1.getNome() + " Id: " + j1.getId()); int player = j1.getId() - 1; for(int i = 0; player + i < listaJogadores.size(); i++) { listaAuxiliar.add(i, listaJogadores.get(player + i)); } int indice; for(int i = 0; i < player; i++) { indice = listaJogadores.size() - player; listaAuxiliar.add(indice + i, listaJogadores.get(indice)); } System.out.println("-----------------------------------"); System.out.println("---> A LISTA ALTERADA FICOU ASSIM: "); for(int i = 0; i < listaJogadores.size(); i++) { System.out.println("---> Nome: " + listaJogadores.get(i).getNome() + " Id: " + listaJogadores.get(i).getId()); } System.out.println("-----------------------------------"); } Mas o resultado não está dando certo..
-
Menos parâmetros em java
Caíque Fortunato respondeu ao tópico de Caíque Fortunato em Java/Android SDK
@dcm50 porque estou criando 5 parâmetros em uma função.. No caso, são apenas 5 esportes, fixos.. Mas, fico pensando, e se fosse em uma Olimpíadas de verdade e tivesse umas 50 modalidades, ai não seria viável fazer isso. Cada modalidade é um objeto que possui id e nome e preciso deles por parâmetro para não perder as operações que eles realizam.. Como assim uma lista? -
No programa abaixo, em: LeituraAtleta e LeituraSaida eu tenho 5 parâmetros, no entanto isso é ruim, para POO.. Como eu posso otimizar e passar menos parâmetros? public static void main(String[] args) { ArrayList <Pais> listaPais = new ArrayList<>(); ArrayList <Atleta> listaAtleta = new ArrayList<>(); // Declaração dos 5 esportes Corrida corrida = new Corrida(1, "Corrida"); Natacao natacao = new Natacao(2, "Natação"); LevantamentoDePeso levantamentoDePeso = new LevantamentoDePeso (3, "Levantamento de peso"); SaltoEmAltura saltoEmAltura = new SaltoEmAltura (4, "Salto em Altura"); GinasticaArtistica ginasticaArtistica = new GinasticaArtistica (5, "Ginastica artistica"); LeDados lePais = new LeDados(); LeDados leAtleta = new LeDados (); LeDados leSaida = new LeDados (); lePais.LeituraPais(listaPais); // MUITOS PARÂMETROS! Ruim para Programação Orientada a Objetos // Como resolver??? (Diminuir n de parâmetros) leAtleta.LeituraAtleta(listaAtleta, corrida, natacao, levantamentoDePeso, SaltoEmAltura, GinasticaArtistica); leSaida.LeituraSaida(corrida, natacao, levantamentoDePeso, SaltoEmAltura, GinasticaArtistica); }
-
Leitura de arquivos .txt
Caíque Fortunato respondeu ao tópico de Caíque Fortunato em Java/Android SDK
Gente, consegui dessa maneira, talvez ajude outras pessoas: package Leitura; import Classes.Pais; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; public class LeituraPais { public static void main(String[] args) { ArrayList <Pais> itens = new ArrayList<>(); File file = new File("C:/pais.txt"); try (FileInputStream stream = new FileInputStream(file)) { InputStreamReader reader = new InputStreamReader(stream); BufferedReader br = new BufferedReader(reader); String linha = br.readLine(); while(linha != null) { String id = linha.substring(0, linha.indexOf(';')); String nome = linha.substring(linha.lastIndexOf(';') + 1, linha.length()); int id_cod = Integer.parseInt(id); Pais p = new Pais(id_cod, nome); itens.add(p); linha = br.readLine(); } } catch (IOException e) { } System.out.println("\n"); System.out.println("Lista final: "); for(int i = 0; i < itens.size(); i++) { System.out.println("Id: " + itens.get(i).getId()); System.out.println("Nome: " + itens.get(i).getNome()); System.out.print("\n"); } } } -
Sou novo em Java e estou desenvolvendo um projeto para a faculdade onde a entrada é fornecida através de um documento .txt . O problema é que só sei fazer isso em C/C++ e os tutoriais que achei na internet não funcionaram tão bem.. Como eu posso fazer? O arquivo será assim: 1;Brasil 2;Estados Unidos Eu já até fiz a lista onde os itens serão armazenados (Fiz uma classe País com id e nome) que está funcionando com o Scanner.. O meu problema mesmo é a manipulação do arquivo.. Tentei fazer o seguinte: package olimpiadas; import java.util.Scanner; import java.io.FileReader; public class Leitura { public static void main(String[] args) { try{ Scanner scanner = new Scanner(new FileReader("pais.txt")).useDelimiter("\\||\\n"); while (scanner.hasNext()) { String id = scanner.next(); String nome = scanner.next(); System.out.println(id); System.out.println(nome); } } catch(Exception ioException){ System.out.println("O arquivo nao pode ser aberto!"); } } } Mas: 1) O arquivo nunca abre, mesmo estando no mesmo pacote ele exibe que o arquivo não pode ser aberto 2) O id tem que ser int, mas só consigo com String Como resolver? :/
-
Estou com uma dúvida.. Preciso fazer um programa que leia três entradas: 1) Esportes.txt ---> Contém id e Nome do esporte (Exemplo: 1;Natação) 2) Pais.txt --> Contém id e Nome do pais (Exemplo: 1;Brasil) 3) Atleta.txt --> Contém: id_Atleta, id_Pais, id_Esporte; Nome_Atleta; Pontuação (Exemplo: 1;1;1;Joao;10) Pensei em fazer uma classe para cada entrada, ou seja, uma classe para Esporte, Pais e Atleta. Contudo, em Atleta eu tenho o id do esporte e o país, nesse caso, como eu faço para "Ligar" informações com as outras classes? Exemplo: class Esporte{ int id; String nome; } class Pais{ int id; String nome; } --> Aqui, como eu "Ligo" os dados do Atleta com seu país e esporte? class Atleta{ int id; String nome; int pontuação } No final preciso exibir a modalidade e as melhores notas, tipo: Natação Joao - 10 Maria - 5 Por isso a dúvida de como construir as classes...
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais