Forum Pplware

Versão Completa: duvida num programa em c
Está de momento a ver uma versão reduzida do nosso conteúdo. Ver versão completa com o formato adequado.
boas.
sou o alfredo e sou um novato nestas andanças e um grande nabo.
tou a fazer um programa em c que permite registar circuitos electricos. cada circuito é identificado por um ID. a informaçao é guardada num vector de estruturas onde o ID faz parte. ao remover um circuito, por exemplo com o ID 3, ele apresenta-me os seguintes IDs:1, 2, 4, ...
gostaria se possivel de saber como posso reorganizar estes IDs para que assim que remova um circuito, o vector ficar com os IDs reorganizados 1, 2, 3 ...
obrigado
o ideal será criar uma função que reorganize o array, recebendo o actual (desorganizado) e organizando-o num novo, que retorne.

espero que percebas, mas se precisares MESMO, eu posso escrever aqui um código exemplificativo, se bem que já não pego em C há algum tempo.
boas.
obrigado mas consegui resolver esse problema Big Grin
com um ciclo for e um contador resolvi o problema.
agradeço imenso.
agora surgiu-me outro.
visto que cada circuito é identificado por um ID e o ID ta guardado numa estrutura e edintifica a mxm, ao pedir um ID ao utilizador como consigo associar à respectiva escolha, toda a restante informaçao da estrutura de modo a imprimi-la
espero ter sido explicito
pbrigado
Não consegui perceber a tua pergunta?

Se precisas de identificar um elemento e o utilizador te dá o ID, usas valor[id].

Se o id que o utilizador dá não é o índice actual, mas está noutro array, então procuras nesse array qual o índice que tem por valor o ID, e depois usas o valor[indice_certo];

Espero ter respondido à tua pergunta, visto que não percebi muito bem se era isso que pretendias.
ja percebi.
obrigadao Big Grin
Não percebi muito bem o que pretendes ou que já tens. Podes mostrar o código que já tens?

Se não tens nada, aconselharia a criação de uma estrutura que representasse o tal circuito, com um campo reservado para o ID.

Depois organizaria essas estruturas (circuitos) numa lista de ponteiros para circuitos, sempre ordenados pelo seu ID. A abordagem por lista é sempre melhor, mas também poderás fazer por array, se bem que as operações de alteração serão sempre mais lentas...
URL's de Referência