Ir ao conteúdo
  • Cadastre-se

marcos12345

Membro Pleno
  • Posts

    36
  • Cadastrado em

  • Última visita

Tudo que marcos12345 postou

  1. Eu estava tentando criar um aplicativo que obtenha a cor de uma imagem capturada pela câmera com reagir nativo com o expo. Eu usei o Jimp, uma biblioteca de processamento de imagem JavaScript, mas está mostrando erro. Veja este código. import { StatusBar } from 'expo-status-bar'; import React, { useState, useEffect, useRef } from 'react'; import { StyleSheet, Text, View, Button, TouchableOpacity, ScrollView, Modal, Image } from 'react-native'; import { Camera } from 'expo-camera'; import { FontAwesome } from '@expo/vector-icons'; import Jimp from 'jimp'; export default function App() { const camRef = useRef(null); const [type, setType] = useState(Camera.Constants.Type.back); const [hasPermission, setHasPermission] = useState(null); const [capturedPhoto, setCapturedPhoto] = useState(); const [visible, setVisible] = useState(false) useEffect(() => { (async () => { const { status } = await Camera.requestPermissionsAsync(); setHasPermission(status === 'granted'); })(); }, []); if (hasPermission === null) { return <View /> } if (hasPermission === false) { return <Text>Acesso negado!</Text> } async function takePicture() { if (camRef) { const options = { quality: 0.5, base64: true }; const data = await camRef.current.takePictureAsync(options); setCapturedPhoto(data.uri); setVisible(true) GetColor() } } async function GetColor() { try { const image = await Jimp.read(capturedPhoto); const hex = image.getPixelColor(40, 40); console.log(Jimp.intToRGBA(hex)); } catch (error) { console.error(error) } } return ( <View style={styles.container}> <Camera style={{ flex: 1 }} type={type} ref={camRef} > //...restante do codigo </Camera> <TouchableOpacity style={styles.button} onPress={takePicture}> <FontAwesome name="camera" size={23} color="#fff" /> </TouchableOpacity> {capturedPhoto && <Modal animationType="slide" transparent={false} visible={visible} > <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center', margin: 20 }}> <TouchableOpacity style={{ margin: 10 }} onPress={() => setVisible(false)}> <FontAwesome name="window-close" size={50} color="#FF0000"></FontAwesome> </TouchableOpacity> <Image style={{ width: '100%', height: 300, borderRadius: 20 }} source={{ uri: capturedPhoto }} /> </View> </Modal> } <StatusBar style="auto" /> </View> ); } O error Event { "isTrusted": false, "methodName": "constructor", } * [native code]:null in __expoConsoleLog - node_modules\react-native\Libraries\LogBox\LogBox.js:33:4 in console.error - node_modules\react-native\Libraries\YellowBox\YellowBox.js:169:6 in registerError - node_modules\react-native\Libraries\YellowBox\YellowBox.js:84:8 in errorImpl - node_modules\react-native\Libraries\YellowBox\YellowBox.js:63:4 in console.error - node_modules\expo\build\environment\muteWarnings.fx.js:27:4 in error - node_modules\regenerator-runtime\runtime.js:63:36 in tryCatch - node_modules\regenerator-runtime\runtime.js:293:29 in invoke - node_modules\regenerator-runtime\runtime.js:63:36 in tryCatch - node_modules\regenerator-runtime\runtime.js:154:27 in invoke - node_modules\regenerator-runtime\runtime.js:166:18 in PromiseImpl.resolve.then$argument_1 - node_modules\promise\setimmediate\core.js:37:13 in tryCallOne - node_modules\promise\setimmediate\core.js:123:24 in setImmediate$argument_0 - node_modules\react-native\Libraries\Core\Timers\JSTimers.js:135:14 in _callTimer - node_modules\react-native\Libraries\Core\Timers\JSTimers.js:183:16 in _callImmediatesPass - node_modules\react-native\Libraries\Core\Timers\JSTimers.js:446:30 in callImmediates * [native code]:null in callImmediates - node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:396:6 in __callImmediates - node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:144:6 in __guard$argument_0 - node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:373:10 in __guard - node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:143:4 in flushedQueue * [native code]:null in flushedQueue * [native code]:null in callFunctionReturnFlushedQueue
  2. @AnsiC Conseguir entender, obrigado por ter me ajudado.
  3. Alguém poderia me ajudar nessa questão, não sei muito bem como resolver ela: Dado o fragmento de código abaixo. Escreva a função MostrarFone(que está em branco). Esta função mostra o número de um telefone, que pode estar em um string ou em uma estrutura, como é percebido no código acima. O número do telefone é mostrado no seguinte formato: (041) 330-1515 struct fone{ char Código[3]; char Área[4]; char Número[4]; }; void MostrarFone( ______________, ______________ ){ //Escreva esta função; } void main(){ char s[11] = “0413301515”; struct FONE f = {{041},{330},{1563}}; MostrarFone(s,11); MostrarFone(&f,11); getch(); }
  4. cara eu tava olhando direito aqui e eu não conseguir entender essa parte por que é que ele vai ate o i ser >= a -1
  5. Não conseguir entender é muito complexo para mim kkkk
  6. disso eu sei mas o problema é com somar na multiplicação por exemplo 12 12 24 12 144 minha duvida é como fazer: 24 12 +
  7. Preciso de ajuda com esse problema em c que é multiplicar números muito grande em c . Eu conquir fazer apenas a parte de quando multiplica os numero mas na hora de somar não conseguir por exemplo Digite um numero 123 Digite outro numero 123 m = 9 m = 6 m = 3 m = 6 m = 4 m = 2 m = 3 m = 2 m = 1 ou seja esta fazendo 3 x 3=9, 3 x 2=6, 3 x 1=3, 2 x 3=6, 2 x 2=4, 2 x 1=2, 1 x 3=3, 1 x 2=2, 1 x 1=1; eu não estou conquindo fazer soma. 369 246 123 =15129 olha o código que eu fiz: #include <stdio.h> #include <stdlib.h> #include <string.h> int main(){ char n1[1000],n2[1000]; int tamn1,tamn2,i,j,ai,bi,m,ts=0; printf("Digite um numero\n"); scanf("%s",n1); printf("Digite outro numero\n"); scanf("%s",n2); tamn1=strlen(n1); tamn2=strlen(n2); for(i=tamn2-1; i>=0; i--){ for(j=tamn1-1; j>=0; j--){ if(i>=0){ ai=n1[j]-'0'; }else{ ai=0; } if(j>=0){ bi=n2[i]-'0'; }else{ bi=0; } m = ((ai*bi)+ts); if(j>0){ ts=m/10; m=m%10; }else{ ts=0; } printf("m = %d\n",m); } } return 0; }
  8. Cara aproveitando o tópico eu tava tentando fazer uma subtração com essa mesma ideia ai eu conseguir fazer a subtração mas na hora em que eu subtraio dois numero iguais como por exemplo 111 - 111 erra para dar so 0 mas dar 000 eu queria saber como remover esses zeros e deixar apenas um zero
  9. @isrnick Ah entendi funciona como se fosse um if valeu cara
  10. É sobre a logica que eu não entendi mito bem
  11. Me explicar melhor essa parte E essa
  12. Galera vcs podem me ajudar nesse problema que é somar números muito grande em c eu tentei fazer mas mas não deu certo veja o código abaixo: #include <stdio.h> #include <stdlib.h> #include <string.h> int main(){ char a[1000]; char b[1000]; int soma[1000],b2[1000],a2[1000],i,tam1,tam2,j,n=0,aux=0; printf("Digite um numero:\n"); scanf("%s",a); printf("Digite um sequndo numero:\n"); scanf("%s",b); tam1=strlen(a); tam2=strlen(b); for(i=tam1-1,j=tam2-1;i>=0,j>=0; i--,j--){ a2[i]=a[i]-'0'; b2[i]=b[j]-'0'; soma[i]=a2[i]+b2[i]+aux; aux=0; if(i!=0){ if(soma[i]>=10){ soma[i]=soma[i]%10; aux=1; } } n++; } for(i=0; i<n; i++){ printf("%d",soma[i]); } return 0; } Ele funciona quando é numeros que tem a mesma quantidade de algorismo por exemplo: 123456+123456=246912 mas quando é um numero em que o numero de algarismo é diferente não funciona 123456+123=000
  13. Preciso saber aonde estou errando nesse código #include <stdio.h> char *strcat(char *s1, const char *s2); char *strncat(char *s3, const char *s4, size_t n); int main(){ char s1[]="sistemas "; char s2[]="de irnformacao"; strcat(s1,s2); printf("%s\n",s1); printf("\n"); char s3[]="curso "; char s4[]="de sistemas de infomacao"; strncat(s3,s4,11); printf("%s\n",s3); return 0; } //Função para concatenar o conteudo de uma string para outra normalmente char *strcat(char *s1, const char *s2){ int i,tam_s1=0,tam_s2=0,aux=0,j; for(i=0; s1[i]!='\0'; i++){ tam_s1++;//tamanho da string s1. } for(i=0; s2[i]!='\0';i++){ tam_s2++;//tamanho da string s2 } aux=tam_s1+tam_s2; for(i=tam_s1,j=0; i<aux,j<tam_s2; i++,j++){ s1[i]=s2[j]; } s1[aux]='\0'; return s1; } //Função para concatenar o conteudo de uma string para outra especificando o tamanho a ser concatenado. char *strncat(char *s3, const char *s4, size_t n){ int i,tam_s3=0,aux=0,j; for(i=0; s3[i]!='\0'; i++){ tam_s3++; //tamanho da sring s3. } for(j=0; j<n ; j++){ s3[tam_s3]=s4[j]; tam_s3++; } s3[tam_s3]='\0'; return s3; }
  14. Questão: Problema da eliminação de duplicatas. Use um array de subscrito único (ou seja, um vetor) para ler 10 números, cada um entre 10 e 100, inclusive. À medida que cada número for lido, imprima-o apenas se ele não for uma duplicata de um número já lido. Considere a "pior das hipóteses": os 10 números são diferentes. Use o menor array possível para resolver o problema. #include <stdio.h> int main(){ int vetor[10],copia[10],i,j; for(i=0; i<10; i++){ printf("Digite um numero entre 10 e 100"); scanf("%d",&vetor[i]); for(j=i+1; j>0; j--){ if(vetor[i]==vetor[j]){ printf("o numero informado foi: %d\n",vetor[j]); } } } getchar(); } o que eu conseguir fazer mas não deu certo preciso saber onde eu errei na minha logica
  15. Peça ao usuário que ele informe um valor impar que determinara o tamanho para um determinado vetor. Esse valor deve ser impar, caso o valor seja par peça que o usuário redigite o numero. Após saber o tamanho do vetor. Peça ao usuário que insira valores no vetor. Depois de preencher o vetor. Imprima-o para fora EX: 4 5 6 8 0 A qui é um vetor preenchido de tamanho 5 apos preenchido deve mostrar do jeito que esta ai em baixo: 6 5 8 4 0
  16. @devair1010 valeu tinha esquecido que o ! era a negação mas agora eu entendi E eu tenho outra duvida quando eu digito um nome com espaço ele não mostra o que tem depois do espaço por exemplo se eu digitar "lápis de cor" quando eu peço para mostrar ele só mostra o "lápis" mas se eu buscar por "lapis de cor" ele mostra normalmente e também se eu digitar so "lapis" ele mostra normalmente também. queria mudar isso mas não sei como pois não sei lidar muito bem com string ainda.
  17. você pode me explicar isso o que esse sinal de exclamação faz e esse isdigit
  18. #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX 100 struct cadastra{ int codigop,codigof,quantidade; char nome[30]; char fornecedor[30]; float preco; }; struct cadastra cad[MAX]; int quantp=0; void cadastraProduto(struct cadastra produto){ cad[quantp]=produto; quantp++; } struct cadastra leDados(){ struct cadastra auxiliar; srand(time (NULL)); fflush(stdin); printf("Digite o nome do produto\n"); scanf("%s",auxiliar.nome); auxiliar.codigop = 1 + rand()%100; printf("Codigo do produto %d\n",auxiliar.codigop); fflush(stdin); printf("Quantide de produtos para o estoque\n"); scanf("%d",&auxiliar.quantidade); fflush(stdin); printf("Nome do fornecedor\n"); scanf("%s",auxiliar.fornecedor); auxiliar.codigof = 1 + rand()%100; printf("Codigo do fornecedor %s eh %d\n",auxiliar.fornecedor, auxiliar.codigof); fflush(stdin); printf("Digite o preco do produto\n"); scanf("%f",&auxiliar.preco); fflush(stdin); system("CLS"); return auxiliar; } void buscar(){ int i,opica; char nome[30]; do{ printf("MENU DE BUSCA\n"); printf("1- Mostrar lista de produtos\n"); printf("2- Buscar pelo nome produto ou pelo nome do fornecedor\n");; printf("3- Sair do menu busca\n"); printf("Digite o numero da opicao desejada \n"); scanf("%d",&opica); system("CLS"); switch(opica){ case 1: printf("Lista de produtos cadastrados\n"); for(i=0;i<quantp;i++){ printf("Produto %d \n",i+1); printf("+++++++++++++++++++++++\n"); printf("Nome do produto: %s\n",cad[i].nome); printf("Codigo do produto: %d\n",cad[i].codigop); printf("Quantidade no estoque: %d\n",cad[i].quantidade); printf("Nome do fornecedor: %s\n",cad[i].fornecedor); printf("Codigo do fornecedor: %d\n",cad[i].codigof); printf("Preço do produto: %.2f\n",cad[i].preco); printf("+++++++++++++++++++++++\n"); } break; case 2: printf("Digite o nome do produto ou nome do fornecedor\n"); scanf("%s",&nome); for(i=0;i<quantp;i++){ if((strcmp (nome, cad[i].nome) == 0) || strcmp (nome, cad[i].fornecedor) == 0) { printf("+++++++++++++++++++++++\n"); printf("Nome do produto: %s\n",cad[i].nome); printf("Codigo do produto: %d\n",cad[i].codigop); printf("Quantidade no estoque: %d\n",cad[i].quantidade); printf("Nome do fornecedor: %s\n",cad[i].fornecedor); printf("Codigo do fornecedor: %d\n",cad[i].codigof); printf("Preço do produto: %.2f\n",cad[i].preco); printf("+++++++++++++++++++++++\n"); } } break; case 3: break; } }while(opica!=3); system("CLS"); } void alterar (){ int i; char nome[30]; fflush(stdin); printf("Digite o nome do produto que deseja alterar: "); scanf("%s",&nome); for(i=0;i<quantp;i++){ if(strcmp (nome, cad[i].nome) == 0){ fflush(stdin); printf("Digite o nome do produto\n"); scanf("%s",&cad[i].nome); cad[i].codigop = 1 + rand()%10; printf("Codigo do produto %d\n",cad[i].codigop); fflush(stdin); printf("Quantide de produtos para o estoque\n"); scanf("%d",&cad[i].quantidade); fflush(stdin); printf("Nome do fornecedor\n"); scanf("%s",&cad[i].fornecedor); cad[i].codigof = 1 + rand()%10; printf("Codigo do fornecedor %s eh %d\n",cad[i].fornecedor, cad[i].codigof); fflush(stdin); printf("Digite o preço do produto\n"); scanf("%f",&cad[i].preco); fflush(stdin); } } system("CLS"); } void remover () { // Função remover int i,cont=0; int codigo_busc; printf("veja numero do produto que você deseja remover\n"); buscar(); // Chama a função listar para que seja visto qual codigo relacionado ao produto printf("Informe o Codigo do Produto que se Deseja Excluir: "); // Pede o codigo para busca scanf("%i",&codigo_busc); for(i = 0 ; i < quantp ; i++){ if (cad[i].codigop == codigo_busc) { // Compara o codigo relacionado e exclui cad[i] = cad[i+1]; // Realoca a Memória quantp--; // decrementa o indice do vetor para que ocupe o cadastro removido cont++; } } if(cont>0){ printf ("\n\nPRODUTO EXCLUIDO COM SUCESSO !"); printf ("\nPressione ENTER Para Continuar !"); setbuf(stdin,NULL); getchar (); system ("cls"); }else { printf("Esse numero de codigo nao existe\n"); } } int main (){ int opicao; struct cadastra novoProduto; do{ printf("MENU DE OPICAO\n"); printf("1 - Cadastrar\n"); printf("2 - Buscar\n"); printf("3 - Alterar\n"); printf("4 - Remover\n"); printf("5 - Finalizar\n"); printf("Digite o numero da opicao desejada \n"); scanf("%d",&opicao); system("CLS"); switch(opicao){ case 1: novoProduto=leDados(); cadastraProduto(novoProduto); break; case 2: buscar(); break; case 3: alterar(); break; case 4: remover(); break; case 5: printf("Obrigado!\n"); break; default: printf("Opcao invalida!\nTente novamente:\n"); break; } }while(opicao!=5); system("PAUSE"); return 0; } nesse código a professora pede pra colocar condição se o usuário digite uma string em um inteiro aparecer um mensagem de erro. por exemplo na hora que eu executar o programa que aparecer para que o usuário escolha um numero da opção desejada ele sem querer digitar uma string aparece-se uma mensagem de erro e pedi-se para ele tentar novamente. E também não estou conseguindo fazer para quando eu terminar de cadastrar um produto aparecer uma mensagem perguntando se ele deseja cadastrar mais um produto se ele escolher sim ele volta para cadastrar outro produto se ele escolher não terminava a execução e voltava para o menu inicial. Eu sei que tem que ser ter um laço de repetição mas na hora de retornar um struct não da certo.
  19. Essa questão: Defina uma função recursiva que calcula o quociente da divisão inteira de dois números naturais usando subtrações sucessivas.
  20. Simon Viegas não fiz o codigo bem feito por que eu estou apenas treinando sou iniciante ainda esto so resolvendo alguns exercicios para aprender.
  21. #include <stdio.h> #include <stdlib.h> int main (){ float vetor[5][5]; int aluno,nota,soma=0; float media; for(aluno=0;aluno<5;aluno++){ printf("Digite as 4 notas do aluno %d",aluno+1); for(nota=0;nota<4;nota++){ scanf("%f",&vetor[aluno][nota]); } } for(aluno=0;aluno<5;aluno++){ printf("As 4 notas do aluno %d ",aluno+1); soma=0; for(nota=0;nota<4;nota++){ printf("%.2f ",vetor[aluno][nota]); soma+=vetor[aluno][nota]; } vetor[aluno][4]=(soma/4.0); printf("A media eh %.2f",vetor[aluno][4]); printf("\n"); } system("PAUSE"); return 0; } fiz assim agora
  22. pronto conseguir o erro estava na posição do vetor e o %d que eu tinha colocado o %f e tambem eu estava esquecendo de limpar os valores das variaveis media e soma ai quando eu calculava a media do segundo aluno somava com o do primeiro tai o codigo #include <stdio.h> #include <stdlib.h> int main (){ int vetor[20][5]; int aluno,nota,soma=0; float media; for(aluno=0;aluno<20;aluno++){ printf("Digite as 4 notas do aluno %d",aluno+1); media=0; soma=0; for(nota=0;nota<4;nota++){ scanf("%d",&vetor[aluno][nota]); soma+=vetor[aluno][nota]; media=soma/4; vetor[aluno][4]=media; } printf(" a media eh %d",vetor[aluno][4]); } system("PAUSE"); return 0; }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...