Cristiano Posted February 26, 2008 at 12:21 PM Report Share #169169 Posted February 26, 2008 at 12:21 PM preciso d saber as instrucoes k sao necessarias para meter os nomes a serem imprimidos por ordem alfabetica help me!!!!!!!!!!!!!! 😛 (tentem responder o mais rapido possivel...tou msm a rasca ) Link to comment Share on other sites More sharing options...
M6 Posted February 26, 2008 at 01:53 PM Report Share #169181 Posted February 26, 2008 at 01:53 PM Lês os nomes para um array e depois podes usar o bubble sort para ordenar o array e/ou mostrar os valores por ordem afabetica. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to comment Share on other sites More sharing options...
Cristiano Posted February 27, 2008 at 02:27 PM Author Report Share #169413 Posted February 27, 2008 at 02:27 PM opah n da para explcares ixo melhor... 😉 n sou grand coisa a programar...mas tenhu d entregar um projecto.... 😉 Link to comment Share on other sites More sharing options...
JoaoRodrigues Posted February 27, 2008 at 03:13 PM Report Share #169432 Posted February 27, 2008 at 03:13 PM Cristiano, o melhor que podes fazer é ler um livro, ou um tutorial na web. O M6 já te disse mais que o necessário, só não te disse o código.. É assim, precisas de fazer um array, recebendo do utilizador os nomes e colocando no array, e depois de usar um algoritmo de ordenação, tal como o Bubblesort, para ordenar os valores que recebeste. No fim, devolves o array, por ordem (um ciclo que o percorra), ao utilizador. Link to comment Share on other sites More sharing options...
Cristiano Posted February 27, 2008 at 03:30 PM Author Report Share #169440 Posted February 27, 2008 at 03:30 PM pois....mas s n consegui aprender nas aulas ...a ler um livro axo k n vou la... estou a faxer isto com um colega meu....o maximo k conseguimmos faxer foi isto....mas o programa n corre... program ordemalfabetica; const nmax=50; var v: array[1..nmax] of string; i,j,n,posMenor: integer; temp:string; begin writeln('Digite um inteiro menor ou igual a ' ,nmax, ' : '); readln(n); writeln('Digite ',n,' strings, uma em cada linha); for i:=1 to n do readln(v[i]); for i:=1 to n-1 do begin posMenor:=i; for j:=i+1 to n do if v[j] < v[posMenor] then posMenor := j; if i <> posMenor then begin temp := v[i]; v[i] := v[posMenor]; v[posMenor] := temp; end; end; writeln; for i:=1 to n do writeln(v[i]); end. Link to comment Share on other sites More sharing options...
M6 Posted February 27, 2008 at 03:52 PM Report Share #169447 Posted February 27, 2008 at 03:52 PM Podes comçar por dizer qual é o erro que te dá a compilar. Se leres o erro com atenção, vais ver que ele até te indica qual é o erro e em que linha, o que é uma excelente ajuda para o corrgir. Numa vista de olhos rápida vejo já três erros. program ordemalfabetica; const nmax=50; var v: array[1..nmax] of string; i,j,n,posMenor: integer; temp:string; begin writeln('Digite um inteiro menor ou igual a ' ,nmax, ' : '); readln(n); writeln('Digite ',n,' strings, uma em cada linha); for i:=1 to n do readln(v); for i:=1 to n-1 do begin posMenor:=i; for j:=i+1 to n do if v[j] < v[posMenor] then posMenor := j; if i <> posMenor then begin temp := v; v := v[posMenor]; v[posMenor] := temp; end; end; writeln; for i:=1 to n do writeln(v); end. Não estás a fechar a string do segundo writeln. Estás a tentar ler um valor para o array v, o que não é possível. Tens de ler o para uma posição do array v: for i:=1 to n do readln(v[i]); Da mesma forma, estás a escrever o array v em vez de escreveres cada posição do array: for i:=1 to n do writeln(v[i]); De novo, reforço que deves ler os erros de compilação com atenção. Se necessitares de ajuda, podes dizer aqui quais os erros que estás a ter. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to comment Share on other sites More sharing options...
Cristiano Posted February 27, 2008 at 04:31 PM Author Report Share #169457 Posted February 27, 2008 at 04:31 PM ja consegui a meter o programa a correr... 😁 obrigado pelas ajudas.... 😉 a ideia do programa é introduzir nomes d produtos d uma empresa e imprimi.los por ordem alfabeitca... mas para completar mais o programa gostava d saber como e k faxo para a exes atribuir a exes produtos outro tipo d informaçoes...(ex:valor,cod_produto,etc) fico a espera d resp...abc 😁 Link to comment Share on other sites More sharing options...
M6 Posted February 27, 2008 at 05:18 PM Report Share #169471 Posted February 27, 2008 at 05:18 PM Cristiano, podes fazer isso usando tipos estruturados/complexos. Ou seja, declaras um tipo que tu mesmo defines e que tem um campo/variável para cada tipo de informação que necessitas. Depois podes declara o array v como sendo desse tipo. Edit: PS: agradeço que escrevas os teus posts em português correcto, é uma regra do fórum. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to comment Share on other sites More sharing options...
Cristiano Posted March 3, 2008 at 01:49 PM Author Report Share #170220 Posted March 3, 2008 at 01:49 PM Não é possivel me mostrarem 1 exemplo em codigo de como posso fazer isso? ? Link to comment Share on other sites More sharing options...
Cristiano Posted March 5, 2008 at 04:11 PM Author Report Share #170688 Posted March 5, 2008 at 04:11 PM program ordemalfabetica; const nmax=50; var v: array[1..nmax] of string; i,j,n,posMenor, res: integer; temp,p:string; begin writeln('Digite o numero de produtos menor ou igual a ' ,nmax, ' : '); readln(n); repeat writeln('Digite ',n,' produtos, uma em cada linha'); readln(p); writeln('digite valor'); readln(res); until n=n; for i:=1 to n do readln(v); for i:=1 to n-1 do begin posMenor:=i; for j:=i+1 to n do if v[j] < v[posMenor] then posMenor := j; if i <> posMenor then begin temp := v; v := v[posMenor]; v[posMenor] := temp; end; end; writeln('resultado:'); writeln; for i:=1 to n do writeln(v ); readln; end. gostava d saber como e que faço para meter o progama a repetir o pedido do valor igual ao numero d produtos introduzidos...neste caso "= n" Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now