Pesquisar na Comunidade
Mostrando resultados para as tags ''matrizes''.
Encontrado 24 registros
-
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; }
-
Eu fiz esse código aí para testar o recebimento de valores em uma matriz e impressão dos mesmo só que os dados que eu insiro quando o programa é compilado se alteram e fica esse trem doido aí se alguém puder me dizer o que tenho que fazer pra consertar agradeço. meu código: #include <stdio.h> #include <math.h> int ze[3][3]; int i=0,j=0,k=0,l=0; int main(void){ for(i=0; i<3; i++){ for(j=0; j < 3; j++){ scanf("%d", & ze[j]); } } for(k=0; k < 3; k++){ printf("\n |"); for(l=0; l<3; l++){ printf("%d", & ze[k][l]); printf("|"); } } return 0; printf("\n"); } o que ta sendo imprimido: 1 //valores que inseri 2 //valores que inseri 3 //valores que inseri 4 //valores que inseri 5 //valores que inseri 6 //valores que inseri 7 //valores que inseri 8 //valores que inseri 9 //valores que inseri |4223040|4223044|4223048| //valores que saem |4223052|4223056|4223060| //valores que saem |4223064|4223068|4223072| //valores que saem -------------------------------- Process exited after 5.882 seconds with return value 0 Pressione qualquer tecla para continuar. . .
-
- linguagem c
- matrizes
-
(e %d mais)
Tags:
-
Boa noite pessoal, estou precisando de uma ajuda em um código não sei muito como começar ele, tenho que fazer uma matriz não te, onde m um tamanho especifico, a questão e o seguinte: Dada uma matriz M de dimensão IxJ, onde Mij= 1 indica posição de origem do monstrinho, Mij= 9 posição do pacman, Mij= 0 as celular que monstrinho pode passar , Mij= -1 celulas que não podem ser exploradas, determine a rota que o monstrinho chegue ao pacman!, quem puder dar um help nesse exercicio, agradeço desde já, linguagem que começei a ver foi em C
-
Escreva um programa que receba a data de nascimento dia mês e ano e o nome de um numero n de pessoas sendo n informado pelo usuário. Para cada data de nascimento lida determine a diferença de idade entre você e a pessoa, exiba uma mensagem informando se ela é mais velha ou Mais nova, e exiba a diferença de idade no formato ano mês e dia. Por fim exiba os nomes e as idade em ordens crescentes incluindo você.
-
Olá. Gostaria de saber se existe um comando para excluir uma linha ou coluna (do meio) de uma matriz. Ex A=[1 2 3;1 2 3; 1 2 3] Um código que retornaria apenas as linhas 2 e 3 e as colunas 1 e 3. . Eu sei remover a primeira linha C=A(2:3 , : ), mas para remover a coluna 2, que esta no meio? Alguém sabe se existe um comando? Retornaria: C=[1 3 ; 1 3]
-
Olá ,alguém poderia me ajudar !! //2. Faça um programa que leia uma matriz 3x3 e apresente na tela o menor valor da matriz. #include <iostream> using namespace std; int main() { int matriz [3][3], menor; int l,c , pos_l,pos_c; menor = matriz [0][0]; cout <<("informe os elementos da matriz\n"); for (l=0;l<3;l++) { for (c=0;c<3;c++) { cout<< l,c; cin>> matriz [l][c]; if (matriz[l][c]<menor) { menor = matriz [l][c]; pos_l=l; pos_c=c; } } } cout << ("menor elemento")<<menor; cout << ("Posicao:")<<pos_l,pos_c; return 0; }
-
Olá pessoal, sou iniciante e estou tentando fazer um trabalho em C para o seguinte exercício: "Ler o resultado de um número x de jogos do campeonato brasileiro e no final montar a tabela de classificação, exibindo a classificação dos times, número de jogos, vitórias, derrotas, empates, pontos, gols pró, gols contra, saldo de gols." Eu criei vetores com 20 espaços para atribuir os valores dos resultados de cada time mas não estou conseguindo atribuir os valores. Se alguém puder dizer onde estou errando e/ou dar dicas. Qualquer crítica será bem vinda. Obrigado. #include <stdio.h> #include <stdlib.h> #include <conio.c> #include <strings.h> int main(void){ char time1[] = "Atletico-GO"; char time2[] = "Atletico-MG"; char time3[] = "Atletico-PR"; char time4[] = "Avai"; char time5[] = "Bahia"; char time6[] = "Botafogo"; char time7[] = "Chapecoense"; char time8[] = "Corinthians"; char time9[] = "Coritiba"; char time10[] = "Cruzeiro"; char time11[] = "Flamengo"; char time12[] = "Fluminense"; char time13[] = "Gremio"; char time14[] = "Palmeiras"; char time15[] = "PontePreta"; char time16[] = "Santos"; char time17[] = "SaoPaulo"; char time18[] = "Sport"; char time19[] = "Vasco"; char time20[] = "Vitoria"; char partida1[] = " Flamengo X Atletico-MG"; char partida2[] = " Corinthians X Chapecoense"; char partida3[] = " Bahia X Atletico-PR"; char partida4[] = " Fluminense X Santos"; char partida5[] = " Palmeiras X Vasco"; char partida6[] = " Cruzeiro X Sao Paulo"; char partida7[] = " Ponte Preta X Sport"; char partida8[] = " Avai X Vitoria"; char partida9[] = " Gremio X Botafogo"; char partida10[] = " Coritiba X Atletico-GO"; int gols[20]; int vitorias[20]; int derrotas[20]; int empates[20]; int pontos[20]; int golsPro[20]; int golsContra[20]; int saldoDeGols[20]; int classificacao[20]; gotoxy(5,3); printf("----- | CAMPEONATO BRASILEIRO 2017 | -----"); gotoxy(10,6); printf("---------- PARTIDAS ----------"); gotoxy(10,8); printf("1.%s", partida1); gotoxy(10,9); printf("2.%s", partida2); gotoxy(10,10); printf("3.%s", partida3); gotoxy(10,11); printf("4.%s", partida4); gotoxy(10,12); printf("5.%s", partida5); gotoxy(10,13); printf("6.%s", partida6); gotoxy(10,14); printf("7.%s", partida7); gotoxy(10,15); printf("8.%s", partida8); gotoxy(10,16); printf("9.%s", partida9); gotoxy(10,17); printf("10.%s", partida10); gotoxy(10,20); printf("Informe o resultado do jogo |%s", partida1); gotoxy(10,22); printf("Gols do %s", time11); printf(": "); scanf("%i", &gols[11]); gotoxy(43,22); printf("Gols do %s", time2); printf(": "); scanf("%i", &gols[2]); if (gols[11] > gols[2]){ vitorias[11] = (vitorias[11] + 1); } else { derrotas[11] = (derrotas[11] + 1); } getch(); }
-
-Obtenha e imprima um vetor que seja a soma dos elementos de cada coluna de uma matriz numérica qualquer dada. Uma questão aparentemente simples, mas que tem me dado um certo trabalho. Não faço ideia do que possa estar errado, por isso gostaria que dessem uma olhada. Estou usando o Dev C++, escrevendo em C. O programa não exibe a matriz que o usuário insere, nem faz a soma dos elementos de cada coluna como deveria. (Irei publicar o código por completo para uma melhor visualização) #include <stdio.h> int main () { int i, j, tl = 0, tc = 0; int M[tl][tc], vet[tc]; printf ("Informe a quantidade de linhas: "); // Entrada de dados. scanf ("%d", &tl); printf ("\n\nInforme a quantidade de colunas: "); // Entrada de dados. scanf ("%d", &tc); system ("cls"); // Limpa a tela. printf ("Preencha a matriz:\n"); for (i = 0; i < tl; i++) { // Entrada de dados. for (j = 0; j < tc; j++) { printf ("\nInsira o elemento da posicao [%d][%d]: ", i + 1, j + 1); scanf ("%d", &M[i][j]); } printf ("\n"); } system ("cls"); // Limpa a tela. printf ("[Matriz inicial]:\n\n"); // Saída de dados. (AQUI O PROGRAMA NÃO EXIBE A MATRIZ INSERIDA) for (i = 0; i < tl; i++) { for (j = 0; j < tc; j++) printf ("%d ", M[i][j]); printf ("\n"); } for (i = 0; i < tl; i++) { // Operações. (AQUI O PROGRAMA APARENTEMENTE NÃO FAZ A SOMA EXATA) for (j = 0; j < tc; j++) vet[i] = vet[i] + M[j][i]; } printf ("[Vetor resultante]:\n\n"); // Saída de dados. for (i = 0; i < tc; i++) printf ("%d ", vet[i]); return 0; }
-
Fiz em C um programa no Linux de multiplicação de matrizes de ordem 1000 A e B, (Ou seja, matrizes quadradas 1000x1000) que resulta em uma outra matriz C, só que agora eu tenho que adicionar threads e não sei como e nem aonde coloca-las. Eu preciso de 4 threads: 1 para calcular de 0 à 249; 2 para calcular de 250 à 499; 3 para calcular de 500 à 749; 4 para calcular de 750 à 999; Segue código abaixo: #include <time.h> #include <stdio.h> #include <stdlib.h> #include <pthread.h> int main(){ pthread_t thread_1; pthread_t thread_2; pthread_t thread_3; pthread_t thread_4; int i; int j; int linhas; int colunas; int ordem; long T1; long T2; float delta; printf("Digite a ordem das matrizes quadradas A e B: "); scanf("%d", &ordem); T1 = clock(); printf("\nAs matrizes quadradas A e B, são matrizes de ordem %d",ordem); ordem = ordem - 1; linhas = ordem; colunas = ordem; float A[linhas+1][colunas+1]; float B[linhas+1][colunas+1]; for(i = 0; i <= linhas; i++){ for(j = 0; j <= colunas; j++){ printf("\n\nEntre com o valor da matriz A[%d][%d]: ",i+1,j+1); scanf("%f", &A[i][j]); printf("\nEntre com o valor da matriz B[%d][%d]: ",i+1,j+1); scanf("%f", &B[i][j]); } } printf("\nA multiplicacao das matrizes A e B:\n\n"); for(i = 0; i <= linhas; i++) { for(j = 0; j <= colunas; j++) { float produto[linhas+1][colunas+1]; for(int AUX = 0; AUX <= ordem; AUX++) { produto[i][j] += A[i][AUX] * B[AUX][j]; } printf("%.2f ",produto[i][j]); } printf("\n"); } T2 = clock(); delta = (float)(T2-T1)/CLOCKS_PER_SEC; printf("\n\nTempo %.5f segundos",delta); return 0; } Desde já agradeço!
-
- programação
- c
- (e %d mais)
-
alguém poderia me ajudar?estou tentando multiplicar duas matrizes, A e Be salvar o resultado em Co resultado não ta certo, to usando threadso queria uma opinião para saber se ta certo o que to fazendo, porque o que ta me intrigando é que os valores da linha da matriz C não altera #include<stdio.h> #include<stdlib.h> #include<pthread.h> pthread_t thread_1; pthread_t thread_2; pthread_t thread_3; int a[3][2] = {{1, 4}, {2, 5}, {3, 6}}; int b[2][3] = {{7, 8, 9}, {10, 11, 12}}; int c[3][3] = {{1, 2, 3}, {0, 0, 0}, {0, 0, 0}}; void* tarefa_1(void *p) { printf("\nThread1\n"); for (int col = 0; col < 3; col++) { // Multiplica a linha de A pela coluna de B. for (int i = 0; i < 2; i++) { c[1][col] += a[1][i] * b[i][col]; } printf("%i\t",c[1][col]); printf("\n"); } } void* tarefa_2(void *p) { printf("\nThread2\n"); for (int col = 0; col < 3; col++) { // Multiplica a linha de A pela coluna de B. for (int i = 0; i < 2; i++) { c[2][col] += a[2][i] * b[i][col]; } printf("%i\t",c[2][col]); printf("\n"); } } void* tarefa_3(void *p) { printf("\nThread3\n"); for (int col = 0; col < 3; col++) { // Multiplica a linha de A pela coluna de B. for (int i = 0; i < 2; i++) { c[3][col] += a[3][i] * b[i][col]; } printf("%i\t",c[3][col]); printf("\n"); } } int main() { printf("Inicio das Threads...\n"); // inicia as duas threads, passando como parametroa thread e a função que cada uma deve executar pthread_create(&thread_1, NULL, tarefa_1, NULL); pthread_create(&thread_2, NULL, tarefa_2, NULL); pthread_create(&thread_3, NULL, tarefa_3, NULL); // faz com que a thread principal espere a thread 1,2,3 acabarem; pthread_join(thread_1, NULL); pthread_join(thread_2, NULL); pthread_join(thread_3, NULL); printf("resultado da tabela 3\n"); for(int i = 0;i<3; i++){ for(int j= 0; j<3;j++){ printf("%i\t ",c[i][j]); } printf("\n"); } exit(0); }
- 1 resposta
-
- thread
- multiplicação
-
(e %d mais)
Tags:
-
Estou há dias preso nesse exercício da lista de Matrizes Heterogêneas, acredito que por um detalhe, que não encontro solução. É o seguinte: o que não funciona bem é as opções de mostrar o grupo de pessoas com determinada altura (opções 2, 3 e 4 do menu). Eu cadastro todos corretamente, mas na hora de exibir só quem tem 1,5m ou menos, ele exibe todos os cadastrados, e assim acontece com quem tem 1,5m e com quem tem entre 1,5m e menos de 2m. Ao invés de filtrar a opção solicitada, ele me mostra tudo que cadastrei, entendeu? Segue abaixo código: /* 4. Elaborar um programa que armazene o nome e a altura de 15 pessoas com o uso de registros. O programa deve usar um menu que execute as seguintes etapas: a) Cadastrar os 15 registros. b) Apresentar os registros (nome e altura) das pessoas com 1.5m ou menores. c) Apresentar os registros (nome e altura) das pessoas com mais de 1.5m. d) Apresentar os registros (nome e altura) das pessoas com mais de 1.5m e menos de 2.0m. e) Apresentar todos os registros com a média extraída de todas as alturas armazenadas. f) Sair do programa de cadastro. */ #include<stdio.h> #include<stdlib.h> #include<string.h> #include<locale.h> int opcao,encontrou=0; typedef struct cadastro{ char nome[41]; float altura,media; }Cadastro; Cadastro cad[15]; int j=0; float alturas=0; void menu(){ fflush(stdin); printf("Opções:\n"); printf("1 - cadastrar as pessoas e suas alturas\n"); printf("2 - relação das pessoas com 1,5m ou menores\n"); printf("3 - relação das pessoas com 1,5m\n"); printf("4 - relação das pessoas com mais de 1,5m e menos de 2m\n"); printf("5 - exibir relação completa de todos os cadastrados\n"); printf("6 - sair\n"); } void cadastros(){ for(j=0;j<3;j++){ printf("Cadastro da %iª pessoa:\n",j+1); printf("Nome: "); fflush(stdin);fgets(cad[j].nome,41,stdin); printf("Altura: "); scanf("%f",&cad[j].altura); alturas=alturas+cad[j].altura; printf("\n"); system("cls"); } } void listaalturasmenos15(){ if(cad[j].altura<=1,5){ printf("Lista com a relação das pessoas com 1,5m ou menores:\n\n"); for(j=0;j<3;j++){ if(cad[j].altura!='\0'){ encontrou=1; printf("Registro %i:\n",j+1); printf("Nome: %s",cad[j].nome); printf("Altura: %.2f\n\n",cad[j].altura); } } if(!encontrou){ printf("Não há, cadastradas nesta lista, pessoas com 1,5m ou menores!\n\n"); } } } void listaalturascom15(){ if(cad[j].altura=1,5){ printf("Lista com a relação das pessoas com 1,5m:\n\n"); for(j=0;j<3;j++){ if(cad[j].altura!='\0'){ encontrou=1; printf("Registro %i:\n",j+1); printf("Nome: %s",cad[j].nome); printf("Altura: %.2f\n\n",cad[j].altura); } } if(!encontrou){ printf("Não há, cadastradas nesta lista, pessoas com 1,5m!\n\n"); } } } void listaalturasmais15(){ if(2<=cad[j].altura>1,5){ printf("Lista com a relação das pessoas com mais de 1,5m e menos de 2m:\n\n"); for(j=0;j<3;j++){ if(cad[j].altura!='\0'){ encontrou=1; printf("Registro %i:\n",j+1); printf("Nome: %s",cad[j].nome); printf("Altura: %.2f\n\n",cad[j].altura); } } if(!encontrou){ printf("Não há, cadastradas nesta lista, pessoas com mais de 1,5m e menos de 2m!\n\n"); } } } void exibe(){ printf("Lista com a relação completa de todos os cadastrados e média das alturas:\n"); for(j=0;j<3;j++){ if(cad[j].nome[0]!='\0'){ encontrou=1; printf("Registro %i:\n",j+1); printf("Nome: %s",cad[j].nome); printf("Altura: %.2f\n\n",cad[j].altura); } } cad[j].media=alturas/3; printf("Média: %.2f\n\n",cad[j].media); if(!encontrou){ printf("Nada foi cadastrado ainda. Utilize a opção 1 do Menu e cadastre!\n\n"); } } main(){ setlocale(LC_ALL,"Portuguese"); while(opcao!=6){ menu(); printf("Escolha a opcão: "); scanf("%i",&opcao); system("cls"); switch(opcao){ case 1:cadastros(); break; case 2:listaalturasmenos15(); break; case 3:listaalturascom15(); break; case 4:listaalturasmais15(); break; case 5:exibe(); break; case 6:exit(0); break; default: printf("A opção é inválida. Informe corretamente.\n\n"); break; } } cadastros(); listaalturasmenos15(); listaalturascom15(); listaalturasmais15(); exibe(); return 0; }
-
Pessoal, preciso de ajuda para alocar uma matriz de forma dinâmica. Segui vários tutoriais e está quase tudo dando certo, mas quando vou compilar dá um erro em relação ao tipo da função que eu criei para alocar a matriz dinamicamente. ->Na função main() eu criei um ponteiro para ponteiro do tipo float (float **mat), defini as entradas inteiras para linhas e colunas da matriz (l, c) ->chamo a funcao q aloca a matriz: mat=Alocar_matriz_real(l, c); ->a função para alocação está abaixo: float **Alocar_matriz_real(int m, int n){ /* ponteiro para a matriz */ float **v; int i,j; /* variável auxiliar */ if (m < 1 || n < 1) { /* verifica parametros recebidos */ printf ("** Erro: Parametro invalido **\n"); return (NULL); } /* aloca as linhas da matriz */ v=(float**)calloc(m, sizeof(float*)); /* Um vetor de m ponteiros para float */ if (v == NULL) { printf("** Erro: Memoria Insuficiente **"); return (NULL); } /* aloca as colunas da matriz */ for ( i = 0; i < m; i++ ) { v = (float*)calloc(n, sizeof(float)); /* m vetores de n floats */ if (v == NULL) { printf("** Erro: Memoria Insuficiente **"); return (NULL); } } return (v); } erro: redefinition of Alocar_matriz_real Alguém pode me ajudar a resolver isso?
-
Boa noite, queria saber como faço pra analisar um área ao redor de um numero em uma matriz bidimensional, vou simplificar X X 1 X 1 X X X X Eu vou dá a posição do numero '1' na linha 2, coluna 2, e quero analisar ao redor dele pra encontrar o outro 1 e caso, houvesse outras linhas/colunas, fosse encontrando os outros uns se houvesse? eu to bugado, não consigo pensar em algo
- 1 resposta
-
- bidimensionais
- matrizes
- (e %d mais)
-
Faça um programa que leia n números inteiros dados em um array e os imprime: a) na ordem inversa dos números dados b) com um deslocamento para a esquerda c) ordenado em ordem decrescente
-
A primeira linha da entrada consiste de um número K representando o número de jogos que serão realizados. A próxima linha consiste de um número N, [0 < N < 8], representando o tamanho da senha a ser utilizada no próximo jogo. A próxima linha contém uma senha contendo dígitos, entre 1 e 7, com exatamente N caracteres que será utilizada no jogo em questão. As próximas linhas contêm os chutes dados pelo segundo jogador e, portanto, consistem de uma sequência de dígitos, entre 1 e 7, com exatamente N caracteres. Cada jogo termina quando a senha é acertada ou quando o jogador desiste de tentar digitando uma seqüência de N caracteres '0'. Após cada jogo, o próximo jogo tem inicio a partir da leitura de uma linha contendo um inteiro indicando o tamanho da próxima senha. Na linha seguinte é dada a nova senha e o jogo prossegue com os chutes.
-
Não estou conseguindo identificar o erro, observe, se fazer uma matriz quadrada de ordem 2 o que acontece com a soma de [1][2] e [2][1]: #include <stdio.h> #include <stdlib.h> #include <time.h> int main (){ int i; int j; int linhas; int colunas; int ordem; float A[i][j]; float B[i][j]; long T1; long T2; float delta; printf("Digite a ordem das matrizes quadradas A e B: "); scanf("%d", &ordem); T1 = clock(); printf("\nAs matrizes quadradas A e B, são matrizes de ordem %d",ordem); linhas = ordem; colunas = ordem; for(i = ; i < linhas; i++){ for(j = ; j < colunas; j++){ printf("\n\nEntre com o valor da matriz A[%d][%d]: ",i+1,j+1); scanf("%f", &A[i][j]); printf("\nEntre com o valor da matriz B[%d][%d]: ",i+1,j+1); scanf("%f", &B[i][j]); } } for(i = ; i < linhas; i++){ for(j = ; j < colunas; j++){ printf("\nA soma das matrizes A[%d][%d] e B[%d][%d] = %.2f",i+1,j+1,i+1,j+1,A[i][j] + B[i][j]); } } T2 = clock(); delta = (float)(T2-T1)/CLOCKS_PER_SEC; printf("\n\nTempo %.5f segundos",delta); return ; }
-
Não estou conseguindo identificar o erro, observe, se fazer uma matriz quadrada de ordem 2 o que acontece com a soma de [1][2] e [2][1]: #include <stdio.h> #include <stdlib.h> #include <time.h> int main (){ int i; int j; int linhas; int colunas; int ordem; float A[i][j]; float B[i][j]; long T1; long T2; float delta; printf("Digite a ordem das matrizes quadradas A e B: "); scanf("%d", &ordem); T1 = clock(); printf("\nAs matrizes quadradas A e B, são matrizes de ordem %d",ordem); linhas = ordem; colunas = ordem; for(i = ; i < linhas; i++){ for(j = ; j < colunas; j++){ printf("\n\nEntre com o valor da matriz A[%d][%d]: ",i+1,j+1); scanf("%f", &A[i][j]); printf("\nEntre com o valor da matriz B[%d][%d]: ",i+1,j+1); scanf("%f", &B[i][j]); } } for(i = ; i < linhas; i++){ for(j = ; j < colunas; j++){ printf("\nA soma das matrizes A[%d][%d] e B[%d][%d] = %.2f",i+1,j+1,i+1,j+1,A[i][j] + B[i][j]); } } T2 = clock(); delta = (float)(T2-T1)/CLOCKS_PER_SEC; printf("\n\nTempo %.5f segundos",delta); return ; }
-
Boa noite gostaria de saber se tem alguém que pode me ajudar na seguinte questão: no código abaixo eu obtenho duas matrizes T e T1 as quais possuem as mesmas variáveis theta1, theta2, theta3, theta4 e theta5, preciso fazer uma função que jogue os mesmos valores nessas variáveis nas duas matrizes e que sejam N valores para que eu consiga ver se elas possuem os mesmos resultados ou não. alguém pode me ajudar com isso? segue abaixo o codigo para obter as matrizes: clear clc % Primeiro, a função Link é usada para criar cada elo. % Os parâmetros da função Link são exatamente os parâmetros % de Denavit-Hartemberg do elo em questão, nesta ordem: % sigma = tipo de junta (0: rotativa ou 1: prismática) % "d" em metros (m) % "a" em metros(m) % alpha em radianos(rad) L(1) = Link([0 0 0.0495 -pi/2]); L(2) = Link([0 0 0.07037 -pi/2]); L(3) = Link([0 0.28958 0 -pi/2]); L(4) = Link([0 0 0 -pi/2]); L(5) = Link([0 0.25881 0 pi]); % Em seguida, a função SerialLink cria o robô % utilizando os elos criados anteriormente. robo = SerialLink(L, 'name', 'Arm InMoov') % A função fkine permite obter a matriz de transformação % homogênea que relaciona o referencial da base com o do % efetuador (cinemática direta) para uma dada configuração. disp('Variáveis de juntas:'); syms theta1 syms theta2 syms theta3 syms theta4 syms theta5 % Verificar se é + ou - q0 = [theta1 (theta2+pi/2) theta3 (theta4+pi) theta5] disp('Cinematica Direta:'); T = robo.fkine(q0) robo.teach syms theta1 syms theta2 syms theta3 syms theta4 syms theta5 d0= 0.0495 d1= 0.07037 d2= 0.05304 d3= 0.23654 d4= 0.25881 A01 = [cos(theta1) 0 -sin(theta1) d0*cos(theta1); sin(theta1) 0 cos(theta1) d0*sin(theta1); 0 -1 0 0; 0 0 0 1] A12 = [cos(theta2 - pi/2) 0 -sin(theta2 - pi/2) d1*cos(theta2 - pi/2); sin(theta2 - pi/2) 0 cos(theta2 - pi/2) d1*sin(theta2 - pi/2); 0 -1 0 0; 0 0 0 1] A23 = [cos(theta3) 0 -sin(theta3) 0; sin(theta3) 0 cos(theta3) 0; 0 -1 0 d2+d3; 0 0 0 1] A34 = [cos(theta4 - pi) 0 -sin(theta4 - pi) 0; sin(theta4 - pi) 0 cos(theta4 - pi) 0; 0 -1 0 0; 0 0 0 1] A45 = [cos(theta5) sin(theta5) 0 0; sin(theta5) -cos(theta5) 0 0; 0 0 -1 d4; 0 0 0 1] T1 = A01*A12*A23*A34*A45
-
Boa tarde,Estou com uma dúvida quanto a soma de colunas em matrizes. --> Pelo que eu sei, para somar valores inteiros de colunas, a matriz deve ser "int":int v_matriz[0][9];No exemplo a matriz tem apenas uma linha e 10 colunas. --> Depois atribuí valores as colunas:puts("Digite um numero:"); scanf("%d",v_matriz);// Aqui ele já se perde... --> Depois, teria que fazer uma operação com um valor específico da matriz:v_soma = (v_matriz[0][2]) + 1;--> Por fim o resultado:printf("result: %d",v_soma);-----------------------------------------------------------------------------------Código completo:#include <stdio.h>int main (){int v_matriz[0][9];int v_soma;puts("Digite um numero:");scanf("%d",v_matriz);v_soma = (v_matriz[0][2]) + 1;printf("Result: %d",v_soma);return(0);}--------------------------------------------------------Outro exemplo que não deu certo, usando string:int main (){char v_string[1][9];int v_soma;puts("Digite 9 numeros");scanf("%s",v_string);printf("O numero digitado foi: %s\n", v_string);printf("Posicao 2: %c \n\n",v_string[0][2]); v_soma = v_string[0][2]+1;printf("result 0: %d",v_soma);}
-
Eaí pessoal, tudo bem? Estou com uma dificuldade tremenda para resolver um pequeno problema em meu código. Preciso montar um quadrilátero em um plano matricial usando uma struct e imprimir ele na tela com as linhas do quadrilátero! Fiz uso de uma matriz do tipo char e atribuí '0' para pontos e ' ' para espaços vazios. struct quad { int p1; int p2; int p3; int p4; }; struct quad x; struct quad y; void definir() { int i, j; for(i=0;i<=29;i++){ for(j=0;j<=29;j++) { mat[i][j] = ' '; } } mat[x.p1][y.p1] = '0'; mat[x.p2][y.p2] = '0'; mat[x.p3][y.p3] = '0'; mat[x.p4][y.p4] = '0'; } void mostrar() { int i, j, linhasx, linhasy; for(i=0;i<=29;i++){ for(j=0;j<=29;j++) { printf(" %c", mat[i][j]); if (j==29){ printf("\n"); } } } }A int main já esta feita. Dessa forma ele só imprime os pontos. O meu unico problema é fazer as ligações entre os pontos do quadrilátero. Não sei nem por onde começar, tentei achar padrões mas não encontrei algo consistente para se colocar de forma automática (for s) no meu código. Alguém pode me ajudar? Valeu
-
- c
- quadrilátero
-
(e %d mais)
Tags:
-
Olá pessoal estou com um problema que está me tirando o sono. Tenho uma rotina que é assim: //------------------------------------- VARIABLES int k,i,p,c,v,b; int mataux[1][n]; int sec[20]; void Gera_Sequencia() // sequencia do tipo slow flashcard, que cresce com 2^k { for (c=0; c<20; c++) sec[c] = 0; for (c=0; c < 6; c++)mataux[0][c]=c; for (c=0; c < 10; c++)mataux[1][c]=1; for(c=0; c<20; c++) cout << sec[c] << " "; }Que deveria me dar uma saída do tipo: Porém a minha saída está sendo: Alguém sabe me explicar porque? É um algoritmo simples não sei onde está o erro.
-
Oi! Tenho que fazer um trabalho em que recebo uma sopa de letras e um dicionário e tenho que resolver a sopa de letras em python. :ninja: :unsure: Me ajudem por favor!!! Obrigado!
-
preciso da ajuda de vocês galera. comentar o que o programa abaixo irá imprimir e explicar sua lógica #include <stdio.h>> #include <iostream> using namespace std; int main() { int M[3] [4]; for (int i=0; i<2; i++) { for (int k=0; k<2; k++) { M[1] [k] = 2; // M será i=1 e } } for (int i=0; i<2; i++) { for (int k=0; k<2; k++) { if (i>=1) { M [k] = M [k] * 3; } } } cout << M [1] [0] << "" << M [0] [1]; return 0; }