Pesquisar na Comunidade
Mostrando resultados para as tags ''matriz''.
Encontrado 83 registros
-
alguém saber resolver
-
preciso fazer um programa com duas sub rotinas uma vai receber os valores de uma matriz 10x5 de números reais a outra soma os valores abaixo da linha 6 ate agora eu fiz isso #include <stdio.h> float mat[10][5]; int a, b; void recebe(float x); float soma(); int main() { float q, x; for(a=0;a<10;a++){ for(b=0;b<5;b++){ printf("digite o valor da %da casa da %da linha: ", b+1, a+1); scanf("%f",&x); recebe(x); } } q = soma(); printf("a soma dos valors das linhas inferiores a 6 e: %f ", q); return 0; } void recebe(float x) { x = mat[a][b]; } float soma() { float x, y; for(a=0;a<10;a++){ for(b=0;b<5;b++){ if(a>5){ mat[a][b] = y; x = x + y; } } } return (x); } mas a minha função somar retorna 0 e eu n consigo resolver isso, o que esta errado ?
-
Projeto Calendário Permanente (veja a imagem abaixo): Como eu faço? Abaixo está um código base para você. As matrizes A1, A2, B e C já estão preenchidas. Você implementará a função procurarLinha, que varre uma matriz, em busca de um valor, e retorna somente a linha em que encontrou o elemento. Adicionalmente, precisará terminar o main: -Com base no ano, decida se vai fazer a primeira pesquisa em A1 (ano até 2000) ou A2 (a partir de 2001). Use para a pesquisa somente os últimos dois dígitos do ano (para isso você pode usar o resto da divisão inteira por 100: ano%100). Esta pesquisa é feita com a chamada da função procurarLinha; só interessa saber em que linha da matriz está este ano. -Use a linha achada acima e a coluna correspondente ao mês para ler um valor da matriz B. -Some o valor lido da matriz B ao dia: esta soma deverá ser procurada na matriz C, com a chamada da função procurarLinha; só interessa saber em que linha da matriz está esta soma. Esta linha contém o dia da semana correspondente a data em questão: 0 para domingo, 1 para segunda, 2 para terça, 3 para quarta, 4 para quinta, 5 para sexta e 6 para sábado. Exemplo numérico para melhorar o entendimento: vamos descobrir que dia da semana corresponde a 01/09/2018: 1) 2018 > 2000, então procuro 18 na matriz A2: está na 10ª linha. 2) Na matriz B, 10ª linha, coluna correspondente ao mês de Setembro, leio o número 6. 3) Somo 6 mais o dia (1), obtendo 7. 4) Procuro em que linha da matriz C existe o número 7: última linha, correspondente à Sábado!! Código de apoio: #include <stdio.h> #include <locale.h> int procurarLinha(int L, int C, int mat[L][C], int proc) { //aqui você completa .... //esta função retorna a linha em que proc aparece na matriz for(....) { for(...) { if(...) { } } } } //Calendário permanente de 1901 a 2092 int A1[28][4], A2[28][4]; int B[28][12]= {{4,0,0,3,5,1,3,6,2,4,0,2}, {5,1,1,4,6,2,4,0,3,5,1,3}, {6,2,2,5,0,3,5,1,4,6,2,4}, {0,3,4,0,2,5,0,3,6,1,4,6}, {2,5,5,1,3,6,1,4,0,2,5,0}, {3,6,6,2,4,0,2,5,1,3,6,1}, {4,0,0,3,5,1,3,6,2,4,0,2}, {5,1,2,5,0,3,5,1,4,6,2,4}, {0,3,3,6,1,4,6,2,5,0,3,5}, {1,4,4,0,2,5,0,3,6,1,4,6}, {2,5,5,1,3,6,1,4,0,2,5,0}, {3,6,0,3,5,1,3,6,2,4,0,2}, {5,1,1,4,6,2,4,0,3,5,1,3}, {6,2,2,5,0,3,5,1,4,6,2,4}, {0,3,3,6,1,4,6,2,5,0,3,5}, {1,4,5,1,3,6,1,4,0,2,5,0}, {3,6,6,2,4,0,2,5,1,3,6,1}, {4,0,0,3,5,1,3,6,2,4,0,2}, {5,1,1,4,6,2,4,0,3,5,1,3}, {6,2,3,6,1,4,6,2,5,0,3,5}, {1,4,4,0,2,5,0,3,6,1,4,6}, {2,5,5,1,3,6,1,4,0,2,5,0}, {3,6,6,2,4,0,2,5,1,3,6,1}, {4,0,1,4,6,2,4,0,3,5,1,3}, {6,2,2,5,0,3,5,1,4,6,2,4}, {0,3,3,6,1,4,6,2,5,0,3,5}, {1,4,4,0,2,5,0,3,6,1,4,6}, {2,5,6,2,4,0,2,5,1,3,6,1}}; int C[7][6]; int main() { int l,c,x; //populando a tabela A1 x=-3; for(c=0;c<4;c++) for(l=0;l<28;l++, x++) if(x<1) A1[l][c]=-1; else if(x<100) A1[l][c]=x; else if(x==100) A1[l][c]=0; else A1[l][c]=-1; //populando a tabela A2 x=-19; for(c=0;c<4;c++) for(l=0;l<28;l++, x++) if(x<1) A2[l][c]=-1; else A2[l][c]=x; //populando a tabela C x=1; for(c=0;c<6;c++) for(l=0;l<7;l++, x++) if(x>37) C[l][c]=-1; else C[l][c]=x; int dia, mes, ano, resposta, linha; setlocale(LC_ALL, "Portuguese"); printf("\nEntre com uma data no formato DD/MM/AAAA: "); scanf("%d/%d/%d", &dia, &mes, &ano); if(ano<1901 || ano>2092) printf("Erro!! O ano deve ser de 1901 a 2092.\n"); //aqui você completa ...... //decida se vai usar A1 ou A2 //extraia os dois últimos dígitos para procurar em A1 ou A2 -----> encontrei uma linha para olhar na matriz B //com o mês eu terei uma coluna na matriz B (Janeiro é mês 1 mas corresponde à coluna 0, Fevereiro é mês 2 mas corresponde à coluna 1, ........Dezembro corresponde à coluna 11) //some o dia fornecido com o valor encontrado na matriz B //procure este último cálculo na matriz C ------> linha linha == 0 ---> Domingo // linha == 1 ---> Segunda // .... // linha == 6 ---> Sábado// return 0; }
-
Estou com dificuldades na questão abaixo: O usuário deve indicar uma posição dentro da matriz, e o programa deve informar a soma dos valores do ponto inicial (0,0) até ao ponto informado pelo usuário. A movimentação será deve ser feita por linhas. Exemplo: Usuário informou posição (1,1), para a matriz na imagem abaixo, o programa irá retornar o valor igual a 21, que é a soma dos valores 1 + 2 + 3 + 4 + 5 + 6. não estou conseguindo fazer 😞 #include <stdio.h> int main() { int matriz[4][3], i, j; for(i=0;i<4;i++){ for(j=0;j<3;j++){ printf("Linha[%d]Coluna[%d]= ", j, i); scanf("%d",&matriz[i][j]); } } for(i=0;i<4;i++){ for(j=0;j<3;j++){ printf("%d ",matriz[i][j]); } printf("\n"); } for(i=0;i<4;i++){ for(j=0;j<3;j++){ matriz[4][3]=matriz[4][3]+matriz[i][j]; } } for(i=0;i<4;i++){ for(j=0;j<3;j++){ printf("%d", matriz[i][j]); } printf("\n"); } return 0; }
-
Olá pessoal. Não estou conseguindo resolver um problema em C, vocês podem me dar uma luz? Ficarei muito grato. Segue abaixo o enunciado. Faça um programa em C que leia dois valores inteiros, l e c, representando respectivamente a quantidade de linha e colunas de uma matriz. Leia os lxc valores reais e armazene nessa matriz. A leitura deverá ser feita dentro da função “void leMatriz (float matriz[][max], int l, int c)”. Em seguida, desenvolva a função “void imprimeMatriz (float matriz[][max], int l, int c)”, que deverá imprimir a matriz lida na ordem inversa da leitura. Observações: Seu programa deverá cuidar para que não sejam aceitos valores menores que 1 e maiores que 50 para a quantidade de linhas e de colunas. Defina max igual a 50. A saída deverá ser dada com apenas 1 casa decimal. Exemplos de Casos de Testes: case=Teste1 input= 3 4 1 2 3 4 5 6 7 8 9 10 11 12 output= 12.0 11.0 10.0 9.0 8.0 7.0 6.0 5.0 4.0 3.0 2.0 1.0 case=Teste2 input= 3 3 3 3.1 3.2 4 4.1 4.2 5 5.1 5.2 output= 5.2 5.1 5.0 4.2 4.1 4.0 3.2 3.1 3.0
- 1 resposta
-
- c
- linguagem c
-
(e %d mais)
Tags:
-
Boa noite, pessoal. Bom, tenho um código que atualiza os valores de uma matriz 2D 151 x 383, 6000 vezes. E preciso salvar cada uma delas numa matriz separada. Então a dimensão dessa matriz será 121x383x6000. Seria algo como: for (n=0;n<6000;n++){ for(i=0;i<151;i++){ for (k=0;k<383;k++){ P2 = 'calculos'; P3[n] = P2; }}} A dúvida é como construir a matriz P3 e como fazer a indexação dela no lugar dos colchetes... Grato!
-
Olá, estou a tentar fazer um programa que mostre um mês em formato de calendario (com dias da semana). Já consegui calcular o primeiro dia da semana (totaldias) e o último dia do mês (ultdia) baseado no mes e ano que o user insere. Também criei uma matriz com todos os dias possiveis (1 até 31) à qual chamei dias. Gostava de saber como a mostro em formato calendario! for (i=0; i-totaldias<0; i++) { cout<<" "; } for (l=0; l<5; l++) { for(c=0; c+totaldias<7; c++) { if(dias[l][c]<=ultdia) { printf("%5d", dias[l][c]); } else(cout<<" "); } totaldias=0; cout<<"\n"; } É assim que tenho tentado mas sem sorte :/
-
Boa noite a todo(a)s do Fórum , sou novo aqui e venho solicitar uma ajuda na criação de uma matriz para ser exibida na tela pelo java. Estou com dificuldades por nunca ter programado na vida, e confesso estar gostando muito por sinal. Mas foi passado uma tarefa na faculdade que achei até um pouco difícil e acredito que para vocês que já são experts não será, sem delongas vou ao assunto de pedido de ajuda. 1 - Eu preciso criar uma matriz que ela determine se é quadrada ou não. 2 - Se ela não for apresente uma mensagem de erro e feche o programa. 3 - Se ela for uma matriz quadrada, que determine se é do tipo : Diagonal, Identidade, Simétrica, Triangular superior ou Inferior. Então é isto gente, espero que consiga ajuda de vocês, eu estou usando o programa (eclipse). Tenham uma boa noite e fiquem com deus.
-
Sortear posições aleatórias numa matriz e trocá-las de valor
uma questão postou Victor Pasini C, C++
Boa tarde, estou criando um jogo de campo minado a pedido do meu professor e estou tendo dificuldade ao gerar bombas aleatórias na minha matriz 9x9. Eu utilizo a função rand(); com seed srand(time(NULL)); para gerar colunas e linhas aleatórias (i e j) que estão funcionando, mas no momento em que troco a matriz[j] pelo valor da bomba = -1, sempre me retorna uma matriz com todas as bombas numa mesma linha. Segue o código do programa e um print do que acontece. http://prntscr.com/keomvl void sorteiaBombas(int campoMinado[9][9]) { int i = 0, j = 0, bombas = 0; srand(time(NULL)); while(bombas < 10) { i = rand() % 10; j = rand() % 10; if(campoMinado[i][j] == 0) { printf("i = %d e j = %d\n", i, j); campoMinado[i][j] = -1; bombas++; } } } A matriz campoMinado é uma matriz preenchida apenas com 0's (nula) -
Olá amigos, eu me chamo Daniel e sou aluno de ADS, alguns dias atrás eu encontrei um código pela internet de um jogo da velha simples, o código funciona perfeita mente, porèm, eu queria adaptar o programa para executar novamente, e é ai que està o problema, eu não consigo fazer o programa zerar e reiniciar novamente a partida, vou inserir o código logo abaixo, desde já agradeço sua ajuda. P.S 1 Já tentei colocar system("cls") em quase todos os lugares possiveis do código, mas não resolveu. #include <iostream> #include <stdlib.h> using namespace std; char matriz[3][3] = {'1','2','3','4','5','6','7','8','9'}; int n; char jog = 'X'; char sair = 's'; bool s = true; void Jogo(){ system("cls"); cout << "\n JOGO DA VELHA\n\n"; for (int a=0;a<3;a++){ cout << "\t"; for (int j=0;j<3;j++){ cout << matriz[a][j] << " "; } cout << "\n"; } cout << "\n"; } void Entrada(){ int p; cout << "Digite um numero: "; cin >> p; if (p==1){ if(matriz[0][0] == '1'){ matriz[0][0] = jog; } else{ cout << "\nJogada invalida! Tente novamente.\n\n"; Entrada(); } } else if(p==2){ if(matriz[0][1] == '2'){ matriz[0][1] = jog; } else{ cout << "\nJogada invalida! Tente novamente.\n\n"; Entrada(); } } else if(p==3){ if(matriz[0][2] == '3'){ matriz[0][2] = jog; } else{ cout << "\nJogada invalida! Tente novamente.\n\n"; Entrada(); } } else if(p==4){ if(matriz[1][0] == '4'){ matriz[1][0] = jog; } else{ cout << "\nJogada invalida! Tente novamente.\n\n"; Entrada(); } } else if(p==5){ if(matriz[1][1] == '5'){ matriz[1][1] = jog; } else{ cout << "\nJogada invalida! Tente novamente.\n\n"; Entrada(); } } else if(p==6){ if(matriz[1][2] == '6'){ matriz[1][2] = jog; } else{ cout << "\nJogada invalida! Tente novamente.\n\n"; Entrada(); } } else if(p==7){ if(matriz[2][0] == '7'){ matriz[2][0] = jog; } else{ cout << "\nJogada invalida! Tente novamente.\n\n"; Entrada(); } } else if(p==8){ if(matriz[2][1] == '8'){ matriz[2][1] = jog; } else{ cout << "\nJogada invalida! Tente novamente.\n\n"; Entrada(); } } else if(p==9){ if(matriz[2][2] == '9'){ matriz[2][2] = jog; } else{ cout << "\nJogada invalida! Tente novamente.\n\n"; Entrada(); } } } void Alterna(){ if (jog == 'X') jog = 'O'; else jog = 'X'; } char Vencedor(){ // Jogador 1 if (matriz[0][0] == 'X' && matriz[0][1] == 'X' && matriz[0][2] == 'X') return 'X'; if (matriz[1][0] == 'X' && matriz[1][1] == 'X' && matriz[1][2] == 'X') return 'X'; if (matriz[2][0] == 'X' && matriz[2][1] == 'X' && matriz[2][2] == 'X') return 'X'; if (matriz[0][0] == 'X' && matriz[1][0] == 'X' && matriz[2][0] == 'X') return 'X'; if (matriz[0][1] == 'X' && matriz[1][1] == 'X' && matriz[2][1] == 'X') return 'X'; if (matriz[0][2] == 'X' && matriz[1][2] == 'X' && matriz[2][2] == 'X') return 'X'; if (matriz[0][0] == 'X' && matriz[1][1] == 'X' && matriz[2][2] == 'X') return 'X'; if (matriz[0][2] == 'X' && matriz[1][1] == 'X' && matriz[2][0] == 'X') return 'X'; //Jogador2 if (matriz[0][0] == 'O' && matriz[0][1] == 'O' && matriz[0][2] == 'O') return 'O'; if (matriz[1][0] == 'O' && matriz[1][1] == 'O' && matriz[1][2] == 'O') return 'O'; if (matriz[2][0] == 'O' && matriz[2][1] == 'O' && matriz[2][2] == 'O') return 'O'; if (matriz[0][0] == 'O' && matriz[1][0] == 'O' && matriz[2][0] == 'O') return 'O'; if (matriz[0][1] == 'O' && matriz[1][1] == 'O' && matriz[2][1] == 'O') return 'O'; if (matriz[0][2] == 'O' && matriz[1][2] == 'O' && matriz[2][2] == 'O') return 'O'; if (matriz[0][0] == 'O' && matriz[1][1] == 'O' && matriz[2][2] == 'O') return 'O'; if (matriz[0][2] == 'O' && matriz[1][1] == 'O' && matriz[2][0] == 'O') return 'O'; return 'e'; } int main(){ while (s == true){ Jogo(); while (true){ n++; Entrada(); Jogo(); if (Vencedor() == 'X'){ cout << "Jogador X Venceu!\n\n"; break; } else if(Vencedor() == 'O'){ cout << "Jogador O Venceu!\n\n"; break; } else if(Vencedor() == 'e' && n == 9){ cout << "Deu empate!\n\n"; break; } Alterna(); } cout << "Jogar novamente?\n(s/n): "; cin >> sair; if(sair == 's' || sair == 'S'){ s = true; } else if(sair == 'n' || sair == 'N'){ s = false; break; } } system("pause"); }
-
Bom dia! Como eu faço um update de dados selecionados de uma tabela e armazenados numa matriz. Ou como faço update com o resultado de um select? Grato!
-
Opa sou novo aqui, estou com dúvida em um exercício no de linguagem C, pede-se o seguinte: Matriz 6x6 Preencher a diagonal principal com os primeiros números da sequencia de fibonacci; Preencher a diagonal secundaria com os primeiros números primos; Preencher o triangulo superior com os primeiros números pares( não deve sob-escrever a diagonal); Preencher o triangulo inferir com primeiros numero impares (não deve sob-escrever a diagonal) A estrutura dever ser da seguinte maneira: #include <stdio.h> int main() { int cont_par=2; int matriz[6][6]; int cont_impar=1; int cont_primo=2; int cont_fibo=0; int i, j; //preenchendo com o valor 0; for(i=0; i<6; ++i){ for(j=0; j<6; ++j) { matriz[i][j]=0; } } for(i=0; i<6; ++i){ for(j=0; j<6; ++j) { if(i==j){ matriz[i][j]=cont_fibo; //preenchendo a diagonal principal; } } if(i+j==7){ //preenchendo apenas a diagonal secundaria; matriz[i][j]=cont_primo; } if(i<j){ //preenchendo o triagulo superior if(matriz[i][j]==0){ matriz[i][j]=cont_par; cont_par = cont_par+2;} } if(i>j){ //preenchendo o triagulo inferior/ if(matriz[i][j]==0){ matriz[i][j]=cont_impar; cont_impar+2; } } } } for(i=0; i<6; ++i){ for(j=0; j<6; ++j) { printf("%d ", matriz[i][j]); } printf("\n"); } return 0; } Não estou conseguindo gerar essa matriz, por favor alguém me ajuda?
-
Gente preciso de ajuda com esse exercício, pois estou fazendo e fica dando finalizar programa e o cmd fecha. "Crie um programa que leia o número de linhas e colunas de duas matrizes, bem como seus conteúdos e em seguida calcule o produto delas, mostrando o resultado na tela." Esse é meu código: #include <stdio.h> #define MAX 100 int main(void){ int m, n, a, b, matrizA[MAX][MAX], matrizB[MAX][MAX], i, j; printf("Informe a dimensao da matriz(m n):\n"); scanf("%d%d, &m, &n"); for(i=0 ; i<m ; i++) for(j=0 ; j<n ; j++){ printf("Informe a Matriz A[%2d][%2d]: ", i, j); scanf("%d", &matrizA[i][j]); } for (i = 0; i < a; i++) for (j = 0; j < b; j++) { printf("Informe a Matriz B[%2d][%2d]: ", i, j); scanf("%d", &matrizB[i][j]); } return 0; }
-
Olá pessoal beleza ? Estou com um problema em meu código, na parte em que ele tem que mostrar o menor número digitado da matriz, ele sempre mostra como zero, já mudei o código várias vezes porém ainda não consegui resolver este problema, alguém ai pode me ajudar por favor ? O código é este: #include <stdio.h> #include <stdlib.h> #include <locale.h> int main() { int lin,col; int mat[3][3]; int menor=0; int pos1=0, pos2=0; setlocale(LC_ALL,"portuguese"); for(lin=0; lin<=2; lin++){ for(col=0; col<=2; col++){ printf("Digite um número para linha [%d] e um para coluna [%d]: ", lin+1, col+1); scanf("%d", &mat[lin][col]); } printf("\n"); } printf("\n Matriz\n\n"); for(lin=0; lin<=2; lin++){ for(col=0; col<=2; col++){ printf("%d\t ", mat[lin][col]); } printf("\n\n"); } for(lin=0; lin<=2; lin++){ for(col=0; col<=2; col++){ if(mat[lin][col] < menor){ menor = mat[lin][col]; pos1=lin; pos2=col; } } } printf("\n O número menor é: [%d]", menor); printf("\n\n A posição do menor número será: [%d][%d]", pos1+1,pos2+1); printf("\n\n"); system("pause"); return 0; }
-
Olá pessoal beleza ? Estou com um problema em meu código, na parte em que ele tem que mostrar o menor número digitado da matriz, ele sempre mostra como zero, já mudei o código várias vezes porém ainda não consegui resolver este problema, alguém ai pode me ajudar por favor ? O código é este: #include <stdio.h> #include <stdlib.h> #include <locale.h> int main() { int lin,col; int mat[3][3]; int menor=0; int pos1=0, pos2=0; setlocale(LC_ALL,"portuguese"); for(lin=0; lin<=2; lin++){ for(col=0; col<=2; col++){ printf("Digite um número para linha [%d] e um para coluna [%d]: ", lin+1, col+1); scanf("%d", &mat[lin][col]); } printf("\n"); } printf("\n Matriz\n\n"); for(lin=0; lin<=2; lin++){ for(col=0; col<=2; col++){ printf("%d\t ", mat[lin][col]); } printf("\n\n"); } for(lin=0; lin<=2; lin++){ for(col=0; col<=2; col++){ if(mat[lin][col] < menor){ menor = mat[lin][col]; pos1=lin; pos2=col; } } } printf("\n O número menor é: [%d]", menor); printf("\n\n A posição do menor número será: [%d][%d]", pos1+1,pos2+1); printf("\n\n"); system("pause"); return 0; }
-
Olá pessoal, mais uma das questões difíceis para iniciante, estou tendo dificuldades para encontrar os erros no algoritmo que desenvolvi, conto com a colaboração de todos, e serei grato a toda dica construtiva de vocês que são mais experientes. #include <stdio.h> #include <stdlib.h> int main(){ int logico,i,j,n,inicol,fimcol,inilin,fimlin,degrau; int matriz[20][20]; do{ printf("Escreva a dimensao da matriz:"); scanf("%d",&n); if((n<1)||(n>20)){ printf("A dimensao da matriz precisa estar entre 1 e 20\n"); } }while((n<1) || (n>20)); printf("A matriz informada e do tipo %dX%d\n",n,n); printf("Digite os numeros da matriz abaixo:\n"); for(i=1;i<=n;i++){ for(j=1;j<=n;j++){ printf("Entre com o valor de matriz["); printf("%d,",i); printf("%d]:",j); scanf("%d",&matriz[i][j]); } } for(i=1;i<=n;i++){ printf("\n"); for(j=1;j<=n;j++){ printf("%2d",matriz[i][j]); printf(" "); } printf("\n"); } inicol=1; fimcol=n; inilin=1; fimlin=n; degrau=0; logico=1; while((logico=1)&&(inicol<fimcol) && (inilin<fimlin)){ for(i=inicol;i=fimcol;i++){ if(matriz[inilin][i]=(degrau+1)){ degrau=(degrau+1); } else{ logico=0; } } fimcol=(fimcol-1); for(i=fimcol;i=inicol;i--){ if(matriz[fimlin][i]=(degrau+1)){ degrau=(degrau+1); } else{ logico=0; } } fimlin=(fimlin-1); for(i=fimlin;i=inilin;i--){ if(matriz[i][inicol]=(degrau+1)){ degrau=(degrau+1); } else{ logico=0; } inicol=(inicol+1); } if(logico=1){ printf("A matriz e inca"); } else{ printf("A matriz não e inca"); } return 0; } Até essa parte abaixo o algoritmo está executando ok. #include <stdio.h> #include <stdlib.h> int main(){ int logico,i,j,n,inicol,fimcol,inilin,fimlin,degrau; int matriz[20][20]; do{ printf("Escreva a dimensao da matriz:"); scanf("%d",&n); if((n<1)||(n>20)){ printf("A dimensao da matriz precisa estar entre 1 e 20\n"); } }while((n<1) || (n>20)); printf("A matriz informada e do tipo %dX%d\n",n,n); printf("Digite os numeros da matriz abaixo:\n"); for(i=1;i<=n;i++){ for(j=1;j<=n;j++){ printf("Entre com o valor de matriz["); printf("%d,",i); printf("%d]:",j); scanf("%d",&matriz[i][j]); } } for(i=1;i<=n;i++){ printf("\n"); for(j=1;j<=n;j++){ printf("%2d",matriz[i][j]); printf(" "); } printf("\n"); }
-
Boa tarde pessoal, desenvolvi esse algoritmo para verificar se uma matriz é inca ou não, ou seja se partindo do extremo superior esquerdo e seguindo em espiral o número seguinte é o sucessor inteiro do número anterior, meu algoritmo está dando que a matriz é errada quando eu não começo com o primeiro termo da matriz [1,1] sendo 1, gostaria de pedir um minuto da atenção e experiência de todos vocês sou grato desde já. algoritmo "Matriz Inca" var i,j,n,inicol,fimcol,inilin,fimlin,degrau:inteiro matriz:vetor[1..20,1..20] de inteiro eh_inca:logico inicio repita escreva("Escolha a dimensão da Matriz:") leia (n) se((n < 1)ou(n > 20))então escreval("A dimensão da matriz precisa estar entre 1 e 20") fimse ate ((n > 0 ) e (n < 21)) escreval("Matriz: ",n ," x ",n) escreval("Digite os numeros da Matriz abaixo:") para i de 1 ate n faca para j de 1 ate n faca escreval("Entre com o valor de matriz[",i,",",j,"]:") leia (matriz[i,j]) fimpara fimpara para i de 1 ate n faca escreval para j de 1 ate n faca escreva (matriz[i,j]) fimpara escreval fimpara inicol <-1 fimcol <-n inilin <-1 fimlin <-n degrau <-0 eh_inca <- verdadeiro enquanto ((eh_inca) e (inicol<fimcol) e (inilin<fimlin)) faca para i de inicol ate fimcol faca se (matriz[inilin,i] = degrau + 1) então degrau <- degrau + 1 senao eh_inca <- falso fimse fimpara inilin <- inilin + 1 para i de inilin ate fimlin faca se (matriz[i,fimcol] = degrau + 1) então degrau <- degrau + 1 senao eh_inca <- falso fimse fimpara fimcol <- fimcol - 1 para i de fimcol ate inicol passo -1 faca se (matriz[fimlin,i] = degrau + 1) então degrau <- degrau + 1 senao eh_inca <- falso fimse fimpara fimlin <- fimlin - 1 para i de fimlin ate inilin passo -1 faca se (matriz[i,inicol] = degrau + 1) então degrau <- degrau + 1 senao eh_inca<-falso fimse fimpara inicol<-inicol + 1 fimenquanto se (eh_inca) então escreval ("Matriz é inca") senao escreval ("Matriz não é inca") fimse
-
Bom dia, Boa tarde, e Boa noite a todos. Venho aqui para tentar esclarecer uma dúvida minha em que não estou conseguindo solucionar. Meu professor passou um exercício em que seria necessário criar uma matriz para armazenar 10 strings e depois ordena-las alfabeticamente, mas claro usando ponteiros. Eu vi algumas resoluções no fórum e só achei do tipo que usa o comando strcmp mas não é desse que preciso. Já fiz a parte do código para receber as strings e armazena-las na matriz, apenas não sei como proceder para orderna-la alfabeticamente com o uso de ponteiros. Se puderem ao menos me dar um norte ou um exemplo já ajudaria. Agradeço a qualquer um que tenha a disposição de ajudar. OBS.: Necessita ser obrigatoriamente na Linguagem C, e não em C++. OBS².: Aqui está o enunciado da questão: 1. Leia 10 strings para uma matriz de string. Ordene e imprima as strings em ordem alfabética usando ponteiros.
- 6 respostas
-
Olá pessoal, esse é meu primeiro post aqui no fórum, preciso de uma ajuda com os exercícios abaixo. Estou começando agora a usar a linguagem C++, queria saber se vocês podem me ajudar com esses programas. Até fiz aqui mas não deu muito certo. 1. Dado um vetor de N elementos, determine o Maior elemento e Menor elemento do vetor. No final do processamento exibir os resultados. 2. Dados dois vetores, um contendo a quantidade e o outro o preço de 20 produtos, elabore um programa que calcule e exiba os seguintes resultados: - Faturamento - Faturamento Total que corresponde a somatória dos Faturamentos - Média dos Faturamentos - Quantos Faturamentos estão abaixo da média calculada 3. Dado uma Matriz de ordem 3x3, calcule a somatória da diagonal principal bem como a média, no final exibir os resultados. 4. Dado uma matriz de ordem 3x3, identifique o elemento da posição, (Linha 3 e Coluna 1), multiplique a matriz por este elemento gerando uma matriz resultante, no final exibir a matriz bem como o elemento encontrado. Desde já, agradeço a ajuda.
-
#include <stdio.h> #define linha 12 #define col 12 int main (void) { char OP; float M[linha][col],soma=0,div=0; int i,j; scanf("%c", &OP); // leitura da matriz for(i=linha-1; i>=0;i--) { for(j=col-1; j>=0;j--){ scanf("%f", &M[i][j]); } } // soma da parte requerida da matriz for(i=linha-1;i>=0;i--){ for(j=col-1;j>=0;j--) { if(j>i){ soma += M[i][j]; (int)div++; } } } // condicao para imprimir soma ou media if(OP=='S') printf("%.1f\n", soma); else printf("%.1f\n", soma/div); } A minha saída está diferente da saída correta para a soma de valores de 1 até 144. O valor correto é 6644.0 e a minha saída é 6358.0 Não consigo encontrar o erro. O problema pede para imprimir a soma dos numeros abaixo da diagonal secundária > https://www.urionlinejudge.com.br/repository/UOJ_1186.html.
-
Pessoal, desculpa minha ignorância. Sou novato na área da programação e estou quebrando a cabeça para fazer um exercício sugestionado por um professor, eu só estou conseguindo fazer o programa ler as dimensões porém quando chega na questão para calcular os elementos conforme se pede eu não consigo. Vocês poderiam me ajudar?? a questão é a seguinte: Construir um algoritmo que leia as dimensões de uma matriz e mostre os elementos dela, que deverão ser calculados e mostrados da seguinte forma: - Cada elemento deverá ter como valor o dobro da linha em que se encontra somado ao sucessor da coluna. - Deixar 2 espaços em branco entre um elemento e outro na horizontal; - Controlar as mudanças de linha. Muito Obrigado.
-
Pessoal, desculpa minha ignorância. Sou novato na área da programação e estou quebrando a cabeça para fazer um exercício sugestionado por um professor, eu só estou conseguindo fazer o programa ler as dimensões porém quando chega na questão para calcular os elementos conforme se pede eu não consigo. Vocês poderiam me ajudar?? a questão é a seguinte: Construir um algoritmo que leia as dimensões de uma matriz e mostre os elementos dela, que deverão ser calculados e mostrados da seguinte forma: - Cada elemento deverá ter como valor o dobro da linha em que se encontra somado ao sucessor da coluna. - Deixar 2 espaços em branco entre um elemento e outro na horizontal; - Controlar as mudanças de linha. Muito Obrigado.
-
E aí pessoal! Eu estou com uma dificuldade até simples... Eu gostaria de comparar elementos adjacentes de uma matriz (elementos que fica lado a lado um do outro ou em cima ou embaixo do elemento). Oque mais tá complicando é quando o elemento a se comparar está na primeira linha e/ou primeira coluna e/ou última linha e/ou última coluna. por exemplo, os elementos adjacentes de X são os 0's na matriz a seguir: 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 0 X 0 1 1 OU X 0 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 Desde já obrigado! (:
- 1 resposta
-
- adjacentes
- comparar
- (e %d mais)
-
Pessoal! Como faço para ler um numero inteiro 'n' e a partir dele fazer uma matriz [n][n]??? Só acho exemplos de matrizes já definidas :/