Ir ao conteúdo
  • Cadastre-se

Battata

Membro Júnior
  • Posts

    14
  • Cadastrado em

  • Última visita

Reputação

5
  1. @Midori ainda da 0 #include <stdio.h> int MinMai(char pc); int main() { char matriz[10][10]; int caractere[256] = { 0 }; int i = 0, j = 0, m, n; do { printf("Digite o numero de linhas da matriz: "); scanf_s("%i", &m); } while ((m < 1) || (m > 10)); do { printf("Digite o numero de colunas da matriz: "); scanf_s("%i", &n); } while ((n < 1) || (n > 10)); while (i < m) { j = 0; while (j < n) { printf("Valor [%d][%d]: ", i, j); scanf_s(" %c*%c", &matriz[i][j]); caractere[matriz[i][j]]++; j++; } i++; } printf("\n"); i = 0; while (i < 256) { if (caractere[i]) { printf("Caractere %c = %d\n", i, caractere[i]); } i++; } matriz[0][0] = MinMai('A'); printf("Resultado do primeiro caracter:%i", MinMai(matriz[0][0])); return 0; } int MinMai(char pc) { int m = 0; if (pc >= 97 && pc <= 122) m = pc * 2; if (pc >= 65 && pc <= 90) m = pc / 10; return m; }
  2. @Midori sim, mas ai como eu substituo esse A pela letra [0][0] da matriz?
  3. o que siginifica o 'A'? é por causa dele que o resultado da sempre 6 independe da letra?
  4. @Midori obrigado, funcionou bem melhor! agora so tenho que arrumar essa função @Midori pode me ajudar com isso aqui? ta dando erro "um valor do tipo int char não pode ser atribuído para uma entidade do tipo char" e não sei se a função esta correta int MinMai(char pc); int main() [...] matriz[0][0] = MinMai; printf("Resultado do primeiro caracter:%i",matriz[0][0]); return 0; } int MinMai(char pc) { if (pc >= 97 || pc <= 122) pc / 10; else if (pc >= 65 || pc <= 90) pc * 2; }
  5. Basicamente é uma matriz de no maximo 10x10 que devia ser povoada com caracteres depois os caracteres diferentes deviam ser armazenados em um vetor[100] e quantas vezes cada caracter difrente foi digitado em outro vetor[100] para no final lista-los. E tambem uma função que verifica se o primeiro char da matriz foi maiusculo (retorna o valor da tabela ASCII dividido por 10) ou minusculo (retorna o valor da tabela ASCII multiplicado por 2). Mas não esta funcionando como devia esta dando varios erros e avisos, sou iniciante se alguem puder me ajudar a arrumar ficarei muito grato. #include<stdio.h> #include<stdlib.h> #include<stdbool.h> #include<string.h> #include<ctype.h> #define LINHA 10 #define COLUNA 10 int primeiroch(char ch); int main() { char Matriz[LINHA][COLUNA], c; int M, N; char contar[100];//armazenar diferentes caracteres que aparecem na matriz char vezes[100];//contar quantas vezes o mesmo caracter aparece int count_t = 0, k=0; do { printf("Digite o numero de linhas da matriz: "); scanf_s("%i", &M); } while ((M < 1) || (M > 10)); do { printf("Digite o numero de colunas da matriz: "); scanf_s("%i", &N); } while ((N < 1) || (N > 10)); for (int i = 0; i < M; i++)//linhas { for (int j = 0; j < N; j++)//colunas { printf("Digite o valor da matriz [%i][%i]", i, j); scanf_s("%c", &Matriz[i][j]); while ((c=getchar())!='\n'&&c!=EOF){} contar[count_t] = Matriz[i][j]; count_t++; } } printf("Matriz\n"); for (int i = 0; i < M; i++)//linhas { for (int j = 0; j < N; j++)//colunas { printf("%c\t", Matriz[i][j]); } printf("\n"); } for (k = 0; k < count_t; k++) { bool ver = false; int count_v = 0; char chv[2]; chv[0] = contar[1]; for (int i = 0; i < M; i++) { for (int j = 0; j < N; j++) { if (chv[0] == tolower(Matriz[i][j]) && ((strchr(vezes, chv[0])) == NULL)) { count_v++; ver = true; } } } strcat_s(vezes, chv); if (ver) { printf("%c foi encontrado %i na matriz\n", chv[0], count_v); } } printf("\nO total de caracteres da matriz é: %i\n", count_t); int re = primeiroch(Matriz[0][0]); printf("\nResultado:%i%c\n", re, re); system("pause"); return 0; } int primeiroch(char ch) { if (islower(ch)) { printf("\n Minúsculo %i x 2\n", ch); return ch * 2; } else (isupper(ch)) ; { printf("\nMaiúsculo %i /10\n", ch); return ch / 10; } }
  6. @Flávio Pedroza obrigado, deu certo, mas agora ele ta pulando um scanf
  7. @Flávio Pedroza o que significa malloc e sizeof? nao tem como arrumar o problema sem alterar o codigo?
  8. Estou tendo um erro no meu codigo, acredito que seja um problema nessa parte, com as variaveis m e n, porém não sei como substitui-las corretamente. char matriz[m][n]; o codigo inteiro: #include<stdio.h> #include<stdlib.h> #include<stdbool.h> #include<locale.h> #include<ctype.h> #include<string.h> int primeiroch(char ch) { if(islower(ch)) { printf("\n Minúsculo %i x 2\n", ch); return ch * 2; } else if (isupper(ch)) { printf("\nMaiúsculo %i /10\n", ch); return ch / 10; } else { printf("\nNão é uma letra %i x 2 \n", ch); return ch * 2; } } int main() { setlocale(LC_ALL, "Portuguese"); int m = 0; int n = 0; while (!(m >= 1 && m <= 10)) { printf("Digite o valor de M "); scanf_s("%i", &m); fflush(stdin); } while (!(n >= 1 && n <= 10)) { printf("Digite o valor de N"); scanf_s("%i", &n); fflush(stdin); } printf("Matriz será MxN %ix%i\n", m, n); char matriz[m][n]; char contar[100]; int i = 0; int j = 0; int l = 0; char ch; int count_t = 0; for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { printf("\nPreencha %ix%i", (i + 1), (j + 1)); scanf_s("%c", &ch); matriz[i][j] = ch; contar[count_t] = ch; count_t++; fflush(stdin); } } printf("Matriz\n"); for (i = 0; i < m; i++) { for (j = 0; j < m; j++) { printf("%c", matriz[i][j]); } printf("\n"); } printf("\n\n"); char contar2[100]; strcpy_s(contar2, ""); for (l = 0; l < count_t; l++) { bool ver = false; int count_ch = 0; char chv[2]; chv[0] = contar[1]; chv[0] = tolower(chv[0]); for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { if (chv[0] == tolower(matriz[i][j]) && ((strchr(contar2, chv[0])) == NULL)) { count_ch++; ver = true; } } } strcat_s(contar2, chv); if (ver) { printf("%c foi encontrado %i na matriz\n", chv[0], count_ch); } } printf("\nO total de caracteres da matriz é: %i\n", count_t); int re = primeiroch(matriz[0][0]); printf("\nResultado:%i%c\n", re, re); system("pause"); return 0; }
  9. @V!OLADOR @devair1010 tentei fazer a tabela no final, não entendo muito de strings pode me ajudar? acho que tenho que adicionar um for em algum lugar, só sei que está bem errado kkk #include<stdlib.h> #include<stdio.h> #include<locale.h> #include<string.h> int main() { //declarar variaveis int qtd=0, item=1; float total, vu; char pdt[6][20]; pdt[1] = 'Cachorro - quente'; pdt[2] = 'X- Salada'; pdt[3] = 'X-Bacon'; pdt[4] = 'Misto'; pdt[5] = 'Salada'; pdt[6] = 'Água'; pdt[7] = 'Refrigerante'; //permitir acentuação setlocale(LC_ALL, "Portuguese"); //menu printf("\n"); printf(" ___________________________________________________\n"); printf("| Item| Produto | Código | Preço Unitário |\n"); printf("| 1 | Cachorro-quente | 100 | 5,00 |\n"); printf("| 2 | X-Salada | 101 | 8,79 |\n"); printf("| 3 | X-Bacon | 102 | 9,99 |\n"); printf("| 4 | Misto | 103 | 6,89 |\n"); printf("| 5 | Salada | 104 | 4,80 |\n"); printf("| 6 | Água | 105 | 3,49 |\n"); printf("| 7 | Refrigerante | 106 | 4,99 |\n"); printf("|_____|__________________|________|_________________|\n"); //permitir escolha de varios itens while ((item >= 1) && (item <= 7)) { //escolha do pedido e quantidade printf("Escolha um item: "); scanf_s("%d", &item); //armazenar os dados dos pedidos switch (item) { case 1: //cachorro-quente printf("Digite a quantidade: "); scanf_s("%d", &qtd); vu = 5.00; break; case 2: //x-salada printf("Digite a quantidade: "); scanf_s("%d", &qtd); vu = 8.79; break; case 3: //x-bacon printf("Digite a quantidade: "); scanf_s("%d", &qtd); vu = 9.99; break; case 4: //misto printf("Digite a quantidade: "); scanf_s("%d", &qtd); vu = 6.89; break; case 5: //salada printf("Digite a quantidade: "); scanf_s("%d", &qtd); vu = 4.80; break; case 6: //agua printf("Digite a quantidade: "); scanf_s("%d", &qtd); vu = 3.49; break; case 7: //refrigerante printf("Digite a quantidade: "); scanf_s("%d", &qtd); vu = 4.99; break; default://finalizar ao digitar um numero diferente de 1-7 printf("\n Pedido finalizado \n Item Produto Preço unitário Valor Total\n"); total = total + vu * qtd; printf("%d %s %.2f %.2f", &item, &pdt, &vu, &total); item=(item > 1) && (item < 7); break; } } system("pause"); return 0;
  10. @devair1010 muito obrigado pela ajuda mas faz pouco tempo que comecei a estudar, não consegui entender quase nada, não conheço essas bibliotecas e essas funções então fica muito confuso para mim
  11. O algoritmo devia possibilitar o usuário escolher vários itens varias vezes e finalizar ao digitar um numero diferente de 1-7 porém não está rodando. Ao finalizar deve exibir uma lista com o numero do item comprando, preço unitário, produto e valor total, tem como fazer isso usando os switchs e printf ou precisa usar char, strings, etc? #include<stdlib.h> #include<stdio.h> #include<locale.h> int main() { //declarar variaveis int qtd, item; float total; //permitir acentuação setlocale(LC_ALL, "Portuguese"); //menu printf("\n"); printf(" ___________________________________________________\n"); printf("| Item| Produto | Código | Preço Unitário |\n"); printf("| 1 | Cachorro-quente | 100 | 5,00 |\n"); printf("| 2 | X-Salada | 101 | 8,79 |\n"); printf("| 3 | X-Bacon | 102 | 9,99 |\n"); printf("| 4 | Misto | 103 | 6,89 |\n"); printf("| 5 | Salada | 104 | 4,80 |\n"); printf("| 6 | Água | 105 | 3,49 |\n"); printf("| 7 | Refrigerante | 106 | 4,99 |\n"); printf("|_____|__________________|________|_________________|\n"); //permitir escolha de varios itens while ((item > 1) && (item < 7)) { //escolha do pedido e quantidade printf("Escolha um item: "); scanf_s("%d", &item); //armazenar os dados dos pedidos switch (item) { case 1: //cachorro-quente printf("Digite a quantidade: "); scanf_s("%d", &qtd); total = total + (5, 00 * qtd); break; case 2: //x-salada printf("Digite a quantidade: "); scanf_s("%d", &qtd); total = total + (8, 79 * qtd); break; case 3: //x-bacon printf("Digite a quantidade: "); scanf_s("%d", &qtd); total = total + (9, 99 * qtd); break; case 4: //misto printf("Digite a quantidade: "); scanf_s("%d", &qtd); total = total + (6, 89 * qtd); break; case 5: //salada printf("Digite a quantidade: "); scanf_s("%d", &qtd); total = total + (4, 80 * qtd); break; case 6: //agua printf("Digite a quantidade: "); scanf_s("%d", &qtd); total = total + (3, 49 * qtd); break; case 7: //refrigerante printf("Digite a quantidade: "); scanf_s("%d", &qtd); total = total + (4, 99 * qtd); break; default://finalizar ao digitar um numero diferente de 1-7 printf("\n Pedido finalizado\n valor total = %.2f", total); item=(item > 1) && (item < 7); break; } } system("pause"); return 0; }
  12. Comecei a estudar C recentemente e tentei fazer um código simples usando Switch, está funcionando normalmente exceto quando escolho os números 1 e 2 respectivamente, não sei como arrumar isso. #include<stdio.h> #include<stdlib.h> int main() { printf("Pokenpo\n"); printf("1 - Bulbassauro\n"); printf("2 - Charmander\n"); printf("3 - Squirtle\n"); int j1, j2, vitoria; printf("Jogador 1: "); scanf_s("%d", &j1); printf("Jogador 2: "); scanf_s("%d", &j2); switch (j1) { case 1://bulbassauro switch (j2) { case 1://bulbassauro vitoria = 0; break; case 2://charmander vitoria = 2; break; case 3://squirtle vitoria = 1; break; } break; case 2://charmander switch (j2) { case 1://bulbassauro vitoria = 2; break; case 2://charmander vitoria = 0; break; case 3://squirtle vitoria = 3; break; } break; case 3://squirtle switch (j2) { case 1://bulbassauro vitoria = 1; break; case 2://charmander vitoria = 3; break; case 3://squirtle vitoria = 0; break; } break; } switch (vitoria) { case 0: printf("Os dois pokemon desmaiaram"); break; case 1://bulbassauro printf("Bulbassauro metralhou squirtle"); break; case 2://charmander printf("Charmander queimou bulbassauro"); case 3://squirtle printf("Squirtle afogou charmander"); break; } 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...