Kazami~ 0 Denunciar post Postado Setembro 28, 2009 Oi... Tenho q fazer 2 problemas envolvendo matrizes... sei que eles são fáceis, mas definitivamente não consigo fazer eles funcionar direito... http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif os exercícios são: ~Entrar com uma matriz de ordem 4 x 3 e mostrar: o menor valor de cada uma das linhas da matriz, //<~ aqui está o meu problema... o menor valor de toda a matriz e seu índice. Código: Program exerc04 ; var m:array [1..4,1..3] of integer; menor,a,b,l,c:integer; Begin for l:=1 to 4 do for c:=1 to 3 do begin writeln('Digite linha ',l,' e coluna ',c ); readln(m[l,c]); end; menor:=m[1,1]; for l:=1 to 4 do begin for c:=1 to 3 do if m[l,c] < menor then begin menor:= m[l,c]; a:=l; b:=c; end; writeln('Menor da linha: ',l,': ',menor); //ele mostra o primeiro valor digitado, e o resto que é pra ser o menor.. ou empaca quando acha o menor da matriz antes do fim end; writeln('Menor da matriz é ',menor,'(',a,',',b,')'); End. ~ Elaborar um algoritmo que lê uma matriz M de ordem M(3 x 2) e um valor A, multiplica a matriz M pelo valor A, coloca os valores da matriz multiplicados por A em um vetor Vet, mostre no final o vetor Vet em ordem crescente. só consegui fazer isso (que está medonho... não dá pra entregar isso :( ) Código: Program exerc05 ; var m:array [1..3,1..2] of integer; x,menor,a,l,c:integer; vet: array[1..6] of integer; i,j,aux: integer; Begin write('Defina um valor para multiplcar a matriz:'); readln(a); for l:=1 to 3 do for c:=1 to 2 do begin writeln('Digite um valor para linha: ',l,' e coluna: ',c ); readln(m[l,c]); m[l,c]:=a*m[l,c]; end; vet[1]:=m[1,1];vet[2]:=m[1,2];vet[3]:=m[2,1]; vet[4]:=m[2,2];vet[5]:=m[3,1];vet[6]:=m[3,2]; //definitivamente não consigo colocar a matriz num vetor "normal"... de forma normal... ¬¬'' //método da bolha for i:=1 to 6 do for j:=1 to 5 do if vet[j]>vet[j+1] then begin aux:=vet[j]; vet[j]:=vet[j+1]; vet[j+1]:=aux; end; clrscr; writeln('Resultados em ordem crescente:'); for i:=1 to 6 do writeln(vet[i]/a:0:0,' * ',a,' = ',vet[i]); End. será que alguma alma caridosa pode me ajudar??? http://forum.imasters.com.br/public/style_emoticons/default/grin.gif Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Setembro 28, 2009 Bom vamos por partes, o primeiro. Você precisará de variaveis auxiliares para te ajudar. a cada leitura verifica se ele é o numero menor. passo pra outro linha use outra variavel para pegar o menor numero. e por ai vai.. []s Compartilhar este post Link para o post Compartilhar em outros sites
Chrnos 30 Denunciar post Postado Setembro 28, 2009 Para o seu primeiro problema, você pode montar algo assim: Program exerc04 ; var m:array [1..4,1..3] of integer; menor_linha, //Aqui você vai pegar o menor valor da linha lida menor_array, //Aqui você vai pegar o menor valor da matriz inteira iColunaMenorValorLinha, iLinhaMenorValorLinha, iColunaMenorValorArray, iLinhaMenorValorArray, l, c:integer; Begin for l:=1 to 4 do for c:=1 to 3 do begin writeln('Digite linha ',l,' e coluna ',c ); readln(m[l,c]); end; menor_matriz := m[1,1]; //Inicialização do menor valor da matriz iColunaMenorValorArray := 1; iLinhaMenorValorArray := 1; for l:=1 to 4 do begin menor_linha:= m[l,1]; //Inicialização do menor valor da linha iColunaMenorValorLinha := 1; iLinhaMenorValorLinha := l; for c:=1 to 3 do begin if m[l,c] < menor_linha then begin menor_linha:= m[l,c]; iColunaMenorValorLinha := c; iLinhaMenorValorLinha := l; end; if m[l,c] < menor_matriz then begin menor_matriz := m[l,c]; iColunaMenorValorArray := c; iLinhaMenorValorArray := l; end; end; writeln('Menor da linha: ',l,': ',menor_linha); //ele mostra o primeiro valor digitado, e o resto que é pra ser o menor.. ou empaca quando acha o menor da matriz antes do fim end; writeln('Menor da matriz é ',menor_array,'(',iLinhaMenorValorArray,',',iColunaMenorValorArray,')'); End. Para o segundo, é só questão de você estudar um pouco o primeiro exemplo e pensar em como pode usar variáveis auxiliares que vai achar a solução. []'s Compartilhar este post Link para o post Compartilhar em outros sites
Kazami~ 0 Denunciar post Postado Setembro 28, 2009 Vlw mesmo pessoas!! consegui fazer eles funcionarem xD~ Obrigada ^^ http://forum.imasters.com.br/public/style_emoticons/default/bye1.gif Compartilhar este post Link para o post Compartilhar em outros sites