-
Posts
3.284 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
Tudo que Ansi C postou
-
@DanielC4 Bom Dia Para mim, teu programa falhou já no início, isso mesmo, meu mestre! Ao solicitar um termo… alguém entrou com ele e o programa escreveu isto: 0 0 0 ... É coluna densa de valores desconexos. A propósito, o número que alguém entrou era um inteiro. Veja: Digite um termo inicial: 0xff Digite uma razão: Digite um número a ser pesquisado na sequência: 0 ... 145003 ... 0 -13008 7 ... Ele informou, 0xff um inteiro, né? Deu nisso, sequer tem a oportunidade dum segundo. ... O especificador nos argumentos da scanf não concorda com a mensagem na solicitação, que também não está de acordo com enunciado. Parece bobagem, eu sei! @devair1010 tua expressão também falhou no valor para termo.
-
Boa Noite! Para mim, já falha no começo, isso mesmo no LEIA... porque do jeitinho fofo que está ..., talvez o programa não leia o dado inteiro (15). O programa escreve: Insira os valores do vetor- _ O enunciado diz: 15 posições de números inteiro Alguém Entra Insira os valores do vetor 034 0xff 0 9 8 7 6 5 4 3 2 1 20 22 02 Sim, meu bem! Acima, alguém entrou com seus 15 números no escaneamento, que apesar de enunciar inteiro, extrai em decimal, sendo 1/3 das bases que normalmente se estuda antes dessa categoria de exercício. Não chegará ao ranqueamento, mas se chegar terá resultado duvidoso, né? Daí adicione ao fato `maior_valor` que matou o sentido de usar matriz no exercício que é de matrizes - cultura deste fórum (CdH) Enfim, com uns ajustes até compila: c'11 - gcc'11.4 #include <stdio.h> int main ( ) { int vet [15]= {0}; int i= 0 , maior= 0; /* isto ler inteiro (15) */ printf("Insira valores do vetor (15)\n"); for(i= 0 ; i<15 ; i++) { int r= scanf ("%i", &vet[i]); if (EOF==r) return 1; if (1==r) continue; getchar (); --i; } /* isto ranquea o maior */ for (i= 0 ; i<15 ; i++) if (vet[maior]<vet[i]) maior= i; /* isto faz o produto */ for (i= 0 ; i<15 ; i++) vet[i]*= vet[maior]; /* isto escreve int... */ for (i= 0 ; i<15 ; i++) printf ("%i ",vet[i]); putchar ('\n'); }
-
Boa Noite Já é um Padrão do Fórum Com certeza, exercícios de nível iniciante sobre vetores (de n-milhares) que insinua na resposta a inutilidade dos vetores num exercício dos vetores. c'11 - gcc'11.4 a.c: Na função ‘main’: a.c:9:10: erro: comparação entre ponteiro e inteiro 9 | soma == soma + n; | ^~ a.c:9:10: erro: instrução sem efeito [-Werror=unused-value] 9 | soma == soma + n; | ~~~~~^~~~~~~~~~~ a.c:13:17: erro: operandos inválidos para binário / (possuem ‘int’ e ‘int *’) 13 | media = (soma / n); | ^ | | | int * a.c:14:22: erro: formato ‘%f’ espera argumento do tipo ‘double’, mas argumento 2 tem tipo ‘int’ [-Werror=format=] 14 | printf("A media é %f.", media); | ~^ ~~~~~ | | | | | int | double | %d cc1: todos os avisos sendo tratados como erros Então moço!? A última falha é atentar contra a vida do vetor no exame de vetor! Em fim, com algumas correções, seu programinha até compila, assim: #include <stdio.h> int main () { int n= 20; int termo[n]; int i= 0; /* isto solicita os termos */ do { printf ("Insira um termo: "); scanf ("%d",&termo[i]); i= i + 1; } while (i < n); /* isto faz um somatório */ int soma= 0; i= 0; do { soma = soma + termo[i]; i= i + 1; } while (i < n); /* isto faz uma média */ float media= (float)soma / n; printf("A media é %f\n",media); return 0; } /* isto retorna ao sistema operacional rsrsrs :D */
-
VisualG contador não se comportando corretamente!
Ansi C respondeu ao tópico de Samuel Fortes Brasil em Programação - iniciantes
@Samuel Fortes Brasil Boa Terde! Ocorre por razão da instrução, seu comportamento e a ordem dos comandos no seu bloco de comando. Esses comandos e sua ordem exata estão escritos logo abaixo: ordem. comandos 0. repita 1. Escreval 2. contador <- contador + 1 3. Ate (contador = 10) Acompanhe o ritual comigo… O que acontece depois do incremento (2), vem a expressão lógica (3), a sua condição é? Até 10, ou seja… 1. escreve 9 2. adiciona 1 3.10 é igual a 10 pare A propósito, se queres a simulação até 10, incluso; expresse desta maneira: Algoritmo "Conte Ate 10 (inclusive)" var contador: Inteiro Inicio contador <- 0 repita contador <- contador + 1 Escreval(contador) Ate (contador = 10) Fimalgoritmo -
C como criar um vetor para receber varias strings
Ansi C respondeu ao tópico de Edinei Almeida em C/C#/C++
Hoje tenho uma filosofia diferente. Na C, string é um valor como texto, e não um tipo como int. Ou seja, a string “Hello W...” está para char [] da mesma maneira que 2022 está para int. Sei que parece tolice, mas, “de” e “para”, essas palavras que mudam o significado têm capacidade para cortar o raciocínio. E a pergunta foi: como 'criar' um vetor para receber varias strings? Suponho que para você existiu a opção estática, nela, declare-se o seu comprimento, depois declarem-se variáveis da definição. Deste modo, o processo ficaria um pouquinho mais documental. Assim: #include <stdio.h> typedef char Tinta [128]; int main () { Tinta paleta [132];/* Cores ... */ /* ... */ } -
@kgin Boa Tarde Tua expressão joga da velha não abriu. E esse exercício do jogo é de nível intermediário nas MATRIZES, sendo que essas são as únicas abstrações necessárias à solução. E MATRIZES!!!
-
C Como faço para especificar a linha e a coluna da matriz
Ansi C respondeu ao tópico de FLASHLEGENDS em C/C#/C++
@FLASHLEGENDS Boa Dia! Disso Tem-se, simplesmente isso: int divisivel3 (int i,int j,int matriz[5][5]) { return matriz[i][j] % 3; } Ou ainda... inline int divisivel3 (int i,int j,int matriz[5][5]) { return matriz[i][j] % 3; } ... Ao avaliar a pergunta da função, ela é bem sucedida com retorno de valor 0, sendo, a propósito, apenas por curiosidade o valor na constante EXIT_SUCCESS. Por último, não notou que há uma na declaração e outra na definição a.c: Na função ‘main’: a.c:18:9: erro: declaração implícita da função ‘divisivel’; você quis dizer ‘divisivel3’? [-Wimplicit-function-declaration] 18 | if( divisivel ( i , j , matriz ) == 1 ) | ^~~~~~~~~ | divisivel3 ac:7:14: aviso: parâmetro não utilizado ‘argc’ [-Wunused-parameter] 7 | int main(int argc, char const *argv[]) | ~~~~^~~~ ac:7:32: aviso: parâmetro não utilizado ‘argv’ [-Wunused-parameter] 7 | int main(int argc, char const *argv[]) | ~~~~~~~~~~~~^~~~~~ c'11 - gcc'11.4 Compilável #include <stdio.h> int divisivel3 ( int i, int j , int matriz[5][5] ); int main () { int j , i; //Matriz com valores fixo para não fazer a leitura int matriz[5][5] = {{15,9,23,43,49}, {3,36,55,53,18}, {12,42,51,57,34}, {6,32,28,25,62}, {72,91,81,16,41} }; for(i=0; i<5; i++) for(j=0; j<5; j++) if( divisivel3 (i, j, matriz) ) // Atenção: re avaliar a pergunta printf("O Numero %3d e divisivel por 3\n",matriz [i][j]); return 0; } inline int divisivel3 ( int i, int j , int matriz[5][5] ) { return matriz[i][j] % 3; } -
@devair1010 Boa Noite! De fato, não precisa de um vetor para resolver esse problema. Foi um desejo que tive de momento. Minha solução é a tua solução: nela também o extremo inferior cresce a cada palpite ⇒escolha⇐ e o extremo superior diminui até que a diferença entre eles (isuperior - inferior) gera palpites próximos do número escolhido e por último ele. Obrigado!
-
Boa Noite! ... MATRIZES É matriz na leitura, processo e saída. Sinto que existe um complô entre os editores de apontamento ou apostila das escolas e universidades furrecas, suspeito que combinaram de neutralizar ou inutilizar as matrizes nos exercícios que são das matrizes. Opinião Alguns alunos não querem usar e ousar nas matrizes a trava, suponho que não tenham consciência ou tenham medo de errar, acabam por pensar além da conta. O Problema Sem pensar muito, são 5 dados compostos de 3! É o que me diz, "3 notas de 5 alunos" ou cada aluno no programa é um dado composto de 3 notas, 3 notas é (abstração) um aluno ... Logo, Ai Está! minha opinião é outra! O contratado é: Informe as notas %i Aluno: * * * Por exemplo, nesse rascunho C'11- gcc'11.4 #include <stdio.h> #include <ctype.h> typedef float Aluno; int main () { /* solicitar a turma de 5 alunos */ Aluno turma[5] [3]= {0}; for (size_t a= 0 ; 5>a ; ++a) { int r; printf ("%s%zu%s%c","Informe as notas ",a+ 1,"º Aluno",'\n'); for (size_t n= 0 ; 3>n ; ++n) { r= getchar (); if (EOF==r) { perror ("Falha na solicitação"); a= 5; break; } if ('\n'==r) { ungetc (r,stdin); break; } if ('-'==r || ' '==r) { --n; continue; } ungetc (r,stdin); r= scanf (" %f",&turma[a][n]); if (1!=r) { getchar (); --n; } } while (EOF!=(r= getchar()) && '\n'!=r); putchar ('\n'); } printf ("%c%s%c",'\n',"Turma Notas",'\n'); for (size_t a= 0 ; 5>a ; ++a) { printf ("%zu%s",a+ 1,"º Aluno: "); for (size_t n= 0 ; 3>n ; ++n) { printf ("%.1f ",turma[a][n]); } putchar ('\n'); } /* ... */ } Sendo uma solicitação e não uma leitura, os escaneamentos terminam sempre na nova linha, de modo que cada linha é um aluno (para mim). A proposito, se fosse uma leitura, o programa ficaria preso até pegar turma. RASCUNHE UMA SOLUÇÃO SEM PENSAR MUITO! Porque pensam d+
-
Boa Noite! Scanf meus jovens O nome completo é um composto separado por espaço em branco, certo? A função scanf argumenta com especificador '%s' e juntos correspondem a qualquer caractere que não seja espaço, OK! Use scanf!
-
C Como passar os valores de um vetor para uma matriz?
Ansi C respondeu ao tópico de Emerson2156547384729849 em C/C#/C++
@Emerson2156547384729849 Boa Noite Sem pensar muito, basta unir os dois tipos dos diferentes tipos dos vetores e definir a matriz da união, claro que sim... declarar uma união exclusivamente para ter essa matriz, já que esse é o problema! Ou definir a matriz para o tipo que não há perda nas configurações: cuja única consequência no final é num especificador. obrigado por lê isso -
Sou leitor e discordo disso que você tão amargamente escreve. Entretanto, pelo menos, essa minha postagem, que foi toda desqualificada, feita de fezes, atraiu você que me proporciona diversão. Por mim, tudfo bem.
-
Concertei o daqui, que agora pelo menos compila; c'11 - gcc'11.4 #include <stdio.h> #include <stdlib.h> typedef struct valores { float x; float y; float resultado; } Valores; int calculadora (Valores *pv) { int escolha= 0; while (escolha!=5) { printf ("\n Escolha operador + opcao 1"); printf ("\n Escolha operador - opcao 2"); printf ("\n Escolha operador * opcao 3"); printf ("\n Escolha operador / opcao 4"); printf ("\n digite 5 para sair"); printf ("\n\n Escolha uma opcao: "); scanf ("%d",&escolha); } switch (escolha) { case 1: { printf("\n\n Opcao escolhida: 1 "); pv->resultado= pv->x + pv->y; } break; case 2: { printf("\n\n Opcao escolhida: 2 "); pv->resultado= pv->x - pv->y; } break; case 3: { printf("\n\n Opcao escolhida: 3 "); pv->resultado= pv->x * pv->y; } break; case 4: { printf("\n\n Opcao escolhida: 4 "); pv->resultado= pv->x / pv->y; } break; default: printf("\n\n opcao invalida"); exit (1); break; } return 0; } void captura (Valores *pv) { printf ("Forneca dois numeros."); scanf (" %f%f",&pv->x,&pv->y); } void resultado (Valores *pv) { printf ("Resultado: %f", pv->resultado); } int main (void) { Valores sv; captura (&sv); calculadora (&sv); resultado (&sv); return (0); }
-
C Calculadora de decimo terceiro salario está certa?
Ansi C respondeu ao tópico de PensadorNato1987 em C/C#/C++
A expressão estava sintaticamente correta; quero dizer, apesar de sintaticamente correta para a maioria dos compiladores, esta expressão em c talvez produza resultados errados, falhos ou alertas quando submetida em outros compiladores, e depois há, hipoteticamente, usuários que a utilizem erradamente, por exemplo, entrar com letra num campo númerico. c'11 - gcc'11.4 #include <stdio.h> typedef float NUMERO; int main () { NUMERO SalarioMensal ,Dias ,Resultado; printf ("Digite o salario mensal:\n"); scanf ("%f",&SalarioMensal); printf ("Digite a quantidade de dias:\n"); scanf ("%f",&Dias); Resultado= SalarioMensal/ 365* Dias; printf("O seu decimo é :R$ %.2f\n",Resultado); } Dependendo do exercício, interessa ou não! Digitar e entrar com palavras ao invés de número, num campo numérico (salario) e logicamente, observar o programa falhar até o resultado e pensar nisso. -
C Calculadora com saída em duas casas decimais
Ansi C respondeu ao tópico de Gabrielga_99 em C/C#/C++
Por exemplo, c'11 - gcc'11.4 #include <stdio.h> /* Include the header file for input and output */ #define NUMERO " %lf" #define OPERADOR " %c" #define ADICAO '+' #define SUBTRACAO '-' #define MULTIPLICACAO 'x' #define DIVISAO '/' #define RESULTADO(r) "%.2f%c",r,'\n' typedef double Numero; typedef char Operador; int main (void) { Numero esquerdo ,direito; Operador operacao; int l= scanf (NUMERO,&esquerdo); int r= scanf (NUMERO,&direito); int u= scanf (OPERADOR,&operacao); if (l!=1 || r!=1 || u!=1) { perror ("Falhou na solicitação"); return 1; } switch (operacao) { case ADICAO : esquerdo+= direito; break; case SUBTRACAO : esquerdo-= direito; break; case MULTIPLICACAO : esquerdo*= direito; break; case DIVISAO : if (direito==0.0) { printf ("%s%c","Divisão por zero",'\n'); operacao= 0; } else esquerdo/= direito; break; default: /* * Operação Inválida */ printf ("%s%c","Operador Inválido",'\n'); operacao= 0; break; } if (operacao) printf (RESULTADO(esquerdo)); return 0; } ... -
C Calculadora com saída em duas casas decimais
Ansi C respondeu ao tópico de Gabrielga_99 em C/C#/C++
Bom Dia! Tem o básico de expressões lógicas, aritmética e condicionais. If else | == eq | switch | ?: ternário | scanf | printf Como Resolver ? Escanear-se o dado composto de 2 double como números, 1 char como símbolo da operação (o operador), checa-se com instruções condicionais e fluxo de controle o símbolo\sinal da operação. Deste modo, redireciona-se o programa para os comandos designados pelo símbolo conforme o enunciado no problema (do exercício). Sugerem o uso do switch para expressar o fluxo das operações. -
Simplesmente mais um exercício sobre vetores iniciantes das matrizes. Outro exemplo, /* declarar, definir matriz como números pseudoaleatórios */ double snumero[2][100]; size_t znumeroi= sizeof snumero/ sizeof(snumero[0]); size_t znumeroj= sizeof snumero[0]/ sizeof(snumero[0][0]); for (size_t i= 0 ; znumeroi>i ; ++i) for (size_t j= 0 ; znumeroj>j ; ++j) { snumero[i][j]= (double) 1000+ rand ()% (9999- 1000)+ 1; } /* declarar, definir os maiorais */ double smaior[znumeroj]; for (size_t j= 0 ; znumeroj>j ; ++j) smaior[j]= (snumero[0][j]>snumero[1][j])?snumero[0][j] :snumero[1][j]; /* produzir os maiorais no simulador */ int sep= 0; size_t m= 0; while (znumeroj>m) { printf ("%c%.f",sep,smaior[m]); sep= ((++m)% 10UL)?' ':'\n'; } c'11 - gcc'11.4
-
@devair1010 |@phinky88 Boa Noite! Suponho que é um exercício sobre vetores, então, onde está o vetor? — Acredito ser por meio dum vetor que se faz isso; o programa determina tuas mentiras ao verificar quais elementos no vetor de 1 a 100 estão logicamente excluídos. É nesse mesmo vetor, que está sinalizado um elemento que simboliza o número inicialmente escolhido por você. Não sendo, a lógica permanece com 3 variáveis: os extremos e o valor escolhido pelo usuário. Deste modo, teu número estará entre os limites inferior e superior necessários aos 'palpites' aleatórios\pseudoaleatório no programa que se aproximam do número escolhido a cada ciclo e definem as mentiras: porque tudo além ou aquém dos limites é mentira.
-
C Criei um código no Dev C++ que não acusa erro mas roda bugado.
Ansi C respondeu ao tópico de pedroedumendes em C/C#/C++
Boa Noite @pedroedumendes Esses eram alguns dos os avisos, se não todos. a.c:7:13: aviso: formato ‘%c’ espera argumento do tipo ‘char *’, mas argumento 2 tem tipo ‘char (*)[20]’ [-Wformat=] 7 | scanf("%c", &NomeNovela); | ~^ ~~~~~~~~~~~ | | | | | char (*)[20] | char * a.c:15:12: aviso: muitos argumentos para o formato [-Wformat-extra-args] 15 | printf("\nPelo que você já assistiu de", "%c", NomeNovela, "\n"); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ a.c:16:12: aviso: muitos argumentos para o formato [-Wformat-extra-args] 16 | printf("\nPodemos concluir que você terminará em: ","%d", previsao, " dias"); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Teu programinha agora compila #include <stdio.h> int main (void) { int capitulos ,tempoEmDias ,totalCaps; char nomeNovela[20]; printf ("%s","Olá! Qual novela esta assistindo? "); scanf ("%19[^\n]",&nomeNovela[0]); printf ("%s","Adoro essa novela!! Qual o total de capítulos? "); scanf ("%d",&totalCaps); printf ("%s","Já está em qual capítulo? "); scanf ("%d",&capitulos); printf ("%s","Há quantos dias esta assistindo? "); scanf ("%d",&tempoEmDias); int previsao= totalCaps/ (capitulos/ tempoEmDias); printf("%s%s%c","Pelo que você já assistiu de ",nomeNovela,'\n'); printf("%s%d%s%c","Podemos concluir que você terminará em: ", previsao," dia(s)",'\n'); return 0; } -
VisualG contador não se comportando corretamente!
Ansi C respondeu ao tópico de Samuel Fortes Brasil em Programação - iniciantes
@Samuel Fortes Brasil Boa Tarde! Tem relação com a expressão lógica dessa instrução. Lá, quando expressamos, por exemplo, enquanto a<b faca; isso diz ao algoritmo que pare os comandos quando a não é menor que b, por consequência, o temos 1 comando a menos. Para executar esse último comando, expressa-se a≤b Veja: Faça um teste rápido, rescreva o operador < para <= -
Boa Tarde Aparentimente, é mais um exercício de iteração sobre vetores das matrizes. /* definir números como pseudoaleatórios 1-10 */ int snumero[5] ,ssorteio[10]; size_t s= sizeof ssorteio/ sizeof(ssorteio[0]); for (size_t a= 0 ; s>a ; ++a) ssorteio[a]= (int) a; for (size_t a= 0 ; s>a ; ++a) { int rs= rand ()% s; int an= ssorteio[--s]; ssorteio[s]= ssorteio[rs]; ssorteio[rs]= an; } for (size_t a= 0 ; sizeof snumero/ sizeof(snumero[0])>a ; ++a) snumero[a]= ssorteio[a]; /* solicitar e checar 3 inteiros como palpites */ int spalpite[3]= {0}, check= -3; printf ("Informe 3 inteiros como palpites do sorteio? "); for (size_t a= 0 ; sizeof spalpite/ sizeof(spalpite[0])>a ; ++a) { int palpite= 0; if (scanf ("%i",&palpite)==EOF) { perror ("Falhou na solicitação do palpite"); return 1; } for (size_t a= 0 ; sizeof snumero/ sizeof(snumero[0])>a ; ++a) check+= snumero[a]==palpite; spalpite[a]= palpite; if ('\n'==getchar ()) break; } /* produzir estatus do apostador no simulador */ char sordinal[] [9]= { {"Primeiro"} , {"Segundo"} , {"Terceiro"}}; for (size_t a= 0 ; sizeof spalpite/ sizeof(spalpite[0])>a ; ++a) { printf ("%s%s",sordinal[a]," número informado pelo usuário foi: "); spalpite[a]?printf ("%d",spalpite[a]):0; putchar ('\n'); } /* ... */ if (!check) printf ("%s%c","GANHOU! Você acertou os 3 números",'\n');
-
Aqui tua suposta matriz: #include <stdio.h> #include <stdlib.h> int main (void) { FILE *file= fopen ("grafo.csv", "w"); int linha= 5, coluna= 5; int matriz[linha] [coluna]; for (int i= 0 ; linha>i ; i++) for (int j= 0 ; coluna>j ; j++) { matriz[i] [j]= rand()% 2; matriz[j] [i]= matriz[i] [j]!=1; } for (int i= 0 ; linha>i ; i++) { for (int j= 0 ; coluna>j ; j++) { fprintf (file,"%d",matriz[i] [j]); fprintf (file,","); } fprintf(file,"\n"); } for (int i= 0 ; linha>i ; i++) { for (int j= 0 ; coluna>j ; j++) { printf ("%d",matriz[i] [j]); printf (","); } printf ("\n"); } fclose (file); return 0; }
-
Desconheço, mas, talvez em circuito, /* calcular suas vogais */ int a ,e ,i ,o ,u; a= e= i= o= u= 0; for (size_t ai= 0 ; lin>ai ; ++ai) for (size_t aj= 0 ; col>aj ; ++aj) { int r= tolower (A[ai][aj]); a+= (r=='a'); e+= (r=='e'); i+= (r=='i'); o+= (r=='o'); u+= (r=='u'); } /* produzir soma no simulador */ int soma= a+ e+ i+ o+ u; printf ("%s%d%c","soma é: ",soma,'\n');
-
Boa Dia! Uma análise Tamanho ¹ Não existe 'o tamanho de uma matriz' em linguagem c, o que acertadamente existem são abstrações como o tamanho de uma matriz, são configurações limitadas de modo que é um risco defina-las com base exclusivamente no que o usuário digita. Aleatório ² Já na declaração ela é aleatória, haja vista que supostamente os seus usuários declaram o seu tamanho com base em critério nenhum: que depende das circunstâncias, casualmente, cujo a definição está num espaço da memória repleta (ou não) de configurações binárias acidentais. Logo, sendo um exercício para iniciante das matrizes, e a partir da solução no post#2 Tenho por exemplo, c'11 - gcc'11.4 /* ... */ #include <ctype.h> /* ... tolower () */ #include <stdlib.h>/* ... rand () */ #include <stdio.h> /* Include the header file for input and output */ int main (void) { /* ler e declarar tamanho */ size_t col= 1; (void) scanf ("%zu",&col); size_t lin= 1; (void) scanf ("%zu",&lin); size_t const LIMIT= 100UL; /* definir e atribuir cordas pseudoaleatórias */ char A[lin%= LIMIT][col%= LIMIT]; printf ("%s%zu%c%zu%c","... declarou-se: ",lin,'x',col,'\n'); for (size_t ai= 0 ; lin>ai ; ++ai) for (size_t aj= 0 ; col>aj ; ++aj) { int num= rand ()% 26+ 65; A[ai][aj]= (char) num; } /* calcular suas vogais */ int a ,e ,i ,o ,u ,outros= 0; a= e= i= o= u= 0; for (size_t ai= 0 ; lin>ai ; ++ai) for (size_t aj= 0 ; col>aj ; ++aj) { int r= tolower (A[ai][aj]); switch (r) { case'a': ++a; break; case'e': ++e; break; case'i': ++i; break; case'o': ++o; break; case'u': ++u; break; default: ++outros; break; }} /* produzir soma no simulador */ int soma= a+ e+ i+ o+ u; printf ("%s%d%c","soma é: ",soma,'\n'); return 0; } e talvez ainda, /* calcular suas vogais */ int h[255]= {0}; for (size_t ai= 0 ; lin>ai ; ++ai) for (size_t aj= 0 ; col>aj ; ++aj) ++h[tolower (A[ai][aj])]; /* produzir soma no simulador */ int soma= h['a']+ h['e']+ h['i']+ h['o']+ h['u']; printf ("%s%d%c","soma é: ",soma,'\n'); ...
-
C++ Descobrir o maior e o menor valor do vetor.
Ansi C respondeu ao tópico de Randradee99 em C/C#/C++
Boa Dia! Como diz post #2 e eu reforço: suas variáveis `maior` e `menor` são do tipo int; e a `numeros` de tipo char[], que, com a extração, faz de seus valores aleatórios uma corda aleatória. Resolve: Declare tipo int em `numeros` e expresse a leitura num laço.
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