Ir ao conteúdo
  • Cadastre-se

ytalopaulo_

Membro Júnior
  • Posts

    15
  • Cadastrado em

  • Última visita

Tudo que ytalopaulo_ postou

  1. Gente, estou tentando criar um programa que criar A, B, C, D e E, sendo o A o processo pai. o programa tem que fica num loop infinito imprimindo o nome do processo e seu id e a cada 5 segundos o processo pai(A) matar um filho na ordem B, C, D, E. Quando todos os filhos tiverem mortos o processo pai imprimir a mensagem "não tenho mais filhos" e finaliza o programa. A minha dúvida é, não estou conseguindo matar os processos filhos. O código fica em loop infinito e nunca termina. #include <sys/types.h> #include <sys/wait.h> #include <stdio.h> #include <unistd.h> #include <signal.h> int main(void) { wait(NULL); printf("Não tenho mais filhos.\n"); while(1){ if(fork()){ //B printf("B | ID = %d\n", getpid()); kill( getpid(), SIG_TERM); } if(fork()){ //C printf("C | ID = %d\n", getpid()); } if(fork()){ //D printf("D | ID = %d\n", getpid()); } if(fork()){ //E printf("E | ID = %d\n", getpid()); } } return 0; }
  2. Estou com dificuldade em verifica se uma terminada posição da uma matriz é adjacente de um determinado numero da matriz. Por exemplo uma matriz 3x3: 1 7 8 2 9 4 5 3 6 Quero verifica se a posição 0x1 é adjacente ao número 9 da matriz, caso for troca os número de posições. (7 por lugar do 9 e o 9 por lugar do 7) Como faço isso ?
  3. Estou tentando fazer a ordenação de uma lista de datas em Java, mas não tô conseguindo faze com que ela fica ordenada de forma correta. Na classe Hora a ordenação ta funcionando perfeitamente, mas quando vou ordenar a classe Data e tem hora também não pega. Código da classe Hora package comparetotest; public class Hora implements Comparable<Hora> { private int hora; // 0 -23 private int minutos; // 0 - 59 public Hora(int hora, int minutos) { this.hora = ((hora >= 0 && hora < 24) ? hora : 0); //validando a hora this.minutos = ((minutos >= 0 && minutos < 60) ? minutos : 0); // validando os minutos } public int getHora() { return hora; } public void setHora(int hora) { this.hora = hora; } public int getMinutos() { return minutos; } public void setMinutos(int minutos) { this.minutos = minutos; } @Override public String toString() { return String.format("%d:%02d", hora, minutos); } @Override public int compareTo(Hora h) { if (this.getHora() > h.getHora()) { return 1; } if(this.getMinutos() > h.getMinutos()){ return 1; } if (this.getHora() < h.getHora()) { return -1; } if(this.getMinutos() < h.getMinutos()){ return -1; } return 0; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + hora; result = prime * result + minutos; return result; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } Hora other = (Hora) obj; if (hora != other.hora) { return false; } if (minutos != other.minutos) { return false; } return true; } } Código da classe Data /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package comparetotest; /** * * @author Windows */ public class Data implements Comparable<Data> { private int dia; // 1 - 31 private int mes; // 1 - 12 private int ano; private Hora hora; public Data(int dia, int mes, int ano, Hora hora) { this.dia = ((dia >= 1 && dia <= 31) ? dia : 1); //validando o dia this.mes = ((mes >= 1 && mes <= 12) ? mes : 1); // validando o mes this.ano = ano; this.hora = hora; } public int getDia() { return dia; } public void setDia(int dia) { this.dia = dia; } public int getMes() { return mes; } public void setMes(int mes) { this.mes = mes; } public int getAno() { return ano; } public void setAno(int ano) { this.ano = ano; } public Hora getHora() { return hora; } public void setHora(Hora hora) { this.hora = hora; } @Override public String toString() { return "Data/Hora: " + dia + "/" + mes + "/" + ano + " " + hora.toString(); } @Override public int compareTo(Data d) { if(this.getMes() > d.getMes()){ return 1; } if(this.getMes() < d.getMes()){ return -1; } if(this.getDia() > d.getDia()){ return 1; } if(this.getDia() < d.getDia()){ return -1; } if(this.getAno() > d.getAno()){ return 1; } if(this.getAno() < d.getAno()){ return -1; } if(this.getHora().getHora() > d.getHora().getHora()){ return 1; } if(this.getHora().getHora() < d.getHora().getHora()){ return -1; } return 0; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ano; result = prime * result + dia; result = prime * result + ((hora == null) ? 0 : hora.hashCode()); result = prime * result + mes; return result; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } Data other = (Data) obj; if (ano != other.ano) { return false; } if (dia != other.dia) { return false; } if (hora == null) { if (other.hora != null) { return false; } } else if (!hora.equals(other.hora)) { return false; } if (mes != other.mes) { return false; } return true; } } Código que testa a ordenação package comparetotest; import java.util.ArrayList; import java.util.Collections; public class CompareTotest { public static void main(String[] args) { // TODO code application logic here ArrayList<Hora> horas = new ArrayList<>(); ArrayList<Data> datas = new ArrayList<>(); Hora hora1 = new Hora(1,50); Hora hora2 = new Hora(1,40); Hora hora7 = new Hora(1,00); Hora hora3 = new Hora(1,30); Hora hora4 = new Hora(1,20); Hora hora5 = new Hora(1,10); Hora hora6 = new Hora(1,00); horas.add(hora1); horas.add(hora2); horas.add(hora3); horas.add(hora4); horas.add(hora5); horas.add(hora6); horas.add(hora7); Collections.sort(horas); for(Hora hora: horas){ System.out.println(hora); } Data data1 = new Data(13,12,2017,hora1); Data data2 = new Data(17,11,2016,hora2); Data data3 = new Data(12,10,2019,hora3); Data data4 = new Data(11,10,2016,hora4); Data data5 = new Data(10,8,2015,hora5); Data data6 = new Data(12,10,2016,hora6); Data data7 = new Data(11,6,2018,hora7); datas.add(data1); datas.add(data2); datas.add(data3); datas.add(data4); datas.add(data5); datas.add(data6); datas.add(data7); Collections.sort(datas); for(Data data: datas){ System.out.println(data); } } } A saída é a seguinte : run: 1:00 1:00 1:10 1:20 1:30 1:40 1:50 Data/Hora: 11/6/2018 1:00 Data/Hora: 10/8/2015 1:10 Data/Hora: 11/10/2016 1:20 Data/Hora: 12/10/2016 1:00 Data/Hora: 12/10/2019 1:30 Data/Hora: 17/11/2016 1:40 Data/Hora: 13/12/2017 1:50 CONSTRUÍDO COM SUCESSO (tempo total: 2 segundos) A ordenação de Horas tá funcionando. Mas a de Data só da ordenando pelo mês e eu quero ele ele ordene pelo ano, mês e dia, se possível caso tenha data iguais, a ordenação seja feita pela horas.
  4. Dias do trabalho no século XX Considere as seguintes informações: I. 1º de janeiro de 1900 foi uma segunda-feira. II. Os meses de abril, junho setembro e novembro possuem 30 dias. Todos os demais meses possuem 31 dias, exceto fevereiro. O mês de fevereiro possui 29 dias nos anos bissextos e 28 dias nos demais anos. III. As regras para verificar se um ano é bissexto são: i. Um ano divisível por 400 é bissexto; ii. Um ano divisível por 4 é bissexto, desde que não seja divisível por 100. O dia internacional do trabalho é comemorado no dia 1º de maio. Faça um programa que informe quantas vezes o dia do trabalho caiu em um domingo no século XX (1 de janeiro de 1901 até 31 de dezembro 2000) e informe a quantidade obtida. Alguém poderia me ajuda com esse desafio, a lógica que utiliza pra fazer ele e etc... adicionado 44 minutos depois package desafio4; public class Desafio4 { public static void main(String[] args) { int ano; int jan = 31, mar = 31, mai = 31, jul = 31, ago = 31, out = 31, dez = 31; int abr = 30, jun = 30, set = 30, nov = 30; int fev; for(ano = 1901; ano <= 2000; ano++){ if(ano % 400 == 0 && ano % 100 == 0){ fev = 29; } else if(ano % 4 == 0){ fev = 29; } else{ fev = 28; } } } } Fiz esse código que diz quando fevereiro é de 28 o 29 dias... Quero sabe agora como faço para contar quantos dia 1 de maio caiu no domingo nesse período.
  5. Como fazer um programa em java que receba um nome completo e imprima o ultimo nome e as iniciais dos demais nome na ordem. Ex: Entrada: Maria José da Silva Saída: Silva, M. J. D.
  6. Consegui fazer exatamente assim, valeu pela ajudas.
  7. @devair1010 poderia da um exemplo de como ficaria ?
  8. Pesquisei na internet e encontrei duas maneiras de excluir um registro do arquivo: 1º localizando o registro que vai ser excluído e escrever o ultimo registro do arquivo em cima dele... 2º Copia todo o registro do arquivo ( sem o registro que vai ser excluído ), para um novo arquivo, depois excluir o antigo arquivo e renomeia o novo como o nome do arquivo "padrão" .... Me corrijam se eu estiver errado, mas foi esses dois métodos que encontrei na internet. No livro disponibilizado pelo meu professor mostrar uma maneira de excluir colocando valores nulo no lugar do registro... (Não entendi direito kk). Gostaria de saber como ficaria o código dessa duas maneiras (foco pra 2º) ou se tem outro meio de excluir um registro do arquivo?
  9. Obrigado gente, vou tentar assimilar tudo que foi dito nesse post e acrescentar no meu código. O método que @devair1010 colocou aqui foi o mais próximo que se aproximou do que eu queria, mas agradeço a todos pelo tempo que tiveram pra me ajudar, valeu.
  10. @devair1010 Exatamente assim, onde que eu posso mudar pra a "->" fica na posição que eu quero, meu menu fica mais embaixo pois tem um cabeçalho em cima, modifiquei os números mas fica errado rs... ?
  11. printf("MENU\n"); printf("\t1->ADICIONAR SÉRIES\n"); printf("\t2->EDITAR SÉRIE\n"); printf("\t3->REMOVER SÉRIE\n"); printf("\t4->lISTAR SÉRIES\n"); printf("\t5->PESQUISAR SÉRIES\n"); printf("\t6->SAIR\n"); printf("OPÇÃO: "); scanf("%d",&opPrinc); Estou criando um programa e no momento o menu está sendo feito com a estrutura do/wihle e switch-case. Gostaria de saber como fazer com que a movimentação de escolha das opções do menu fosse feita através das teclas de setar (cima e baixo) e quando clicar em ENTER a opção escolhida fosse acessada? (Eliminando então a forma como esta, o usuário digitar o nº correspondente as opções.)
  12. @AnsiC Obrigado pela a ajuda, funcionou perfeitamente.
  13. Meu professor me mandou fazer a mesma coisa, mas o que eu não entendo é como isso se aplicaria quando o usuário for digital. Tipo, vai aparece uma mensagem pra o usuário digita a quantidade de temporadas de uma série... Ex : 3 Ai as próximas mensagem vai ser em cima desse valor digitado: -> Quantidades de episódios na 1 temporada: -> Quantidades de episódios na 2 temporada: -> Quantidades de episódios na 3 temporada: _______________________________________ Isso normalmente sem estrutura ficaria resolvido se eu declarasse a variável dos episódios após o usuário digita a quantidades de temporadas da séries qtdsEps[qtdsTemps];
  14. Estou fazendo um projeto de armazenamento de séries e queria saber como resolver o problema de vetor de variável dentro de struct? Abaixo está a estrutura do registro!! typedef struct series{ char nome[20]; char genero[20]; char emissora[20]; char lanc, assistindo, passistir, finalz, fav; int ano; int qtdsTemps; int qtdsEps; //era pra ser um vetor de episodios de cada temporada, a partir da qtds informada pela usuário int qtdsEps[qtdsTemps]; int totalEps; } SERIE; Como resolveria esse problema já que não pode criar vetor de variável no struct?

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

×
×
  • Criar novo...