Ir ao conteúdo
  • Cadastre-se

Ajuda com fork em c


btmvdr

Posts recomendados

Tenho que fazer um programa, porém não sei nem como começar isso. Se alguém puder me ajudar, eu agradeço muito. 

 

O programa tem que realizar a soma de um vetor utilizando o número de processos passados na linha de comando do vetor de 500 posições

 

Ex: ./exe 4 = Soma o vetor utilizando 4.

Ex2: ./exe 10 = Soma o vetor utilizando 10 processos.

 

Obs: Não se preocupe com o resto da divisão.
Criar os processos com fork dentro de for, com exit no final.
Depois modificar o que cada filho vai fazer.
Se tem 500 vai dividir por 4.

Link para o comentário
Compartilhar em outros sites

crie uma variável com a quantidade = 500 / processo

no for, use o contador para ser a posição do array a ser passado pro fork: i quantidade 

Sabendo o index e a quantidade de casas cada fork executa uma função que soma o array.

Aí crie uma função que recebe um index e quantidade, e soma as posições do index até index + quantidade VEZES. Se for usar como posição final subtraia 1.

 

O fork é com você, não mexo com linux, unix.

 

Como você disse que não sabe por onde começar, vou te dar mais uma ajuda.

 

Use a declaração completa da main:

int main(int argc, char** argv)

Ao passar o número de processos pro programa o seu argc será 2 e o argv[1] terá o numero que você quer como uma string, converta pra número. (atoi)

 

O argumento é passado quando você chama o programa e coloca o argumento após o nome.

 

Ex: programa.exe 5

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!