Ir para conteúdo
Fórum Script Brasil

Pesquisar na Comunidade

Mostrando resultados para as tags ''matriz bidimencional''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • Programação & Desenvolvimento
    • ASP
    • PHP
    • .NET
    • Java
    • C, C++
    • Delphi, Kylix
    • Lógica de Programação
    • Mobile
    • Visual Basic
    • Outras Linguagens de Programação
  • WEB
    • HTML, XHTML, CSS
    • Ajax, JavaScript, XML, DOM
    • Editores
  • Arte & Design
    • Corel Draw
    • Fireworks
    • Flash & ActionScript
    • Photoshop
    • Outros Programas de Arte e Design
  • Sistemas Operacionais
    • Microsoft Windows
    • GNU/Linux
    • Outros Sistemas Operacionais
  • Softwares, Hardwares e Redes
    • Microsoft Office
    • Softwares Livres
    • Outros Softwares
    • Hardware
    • Redes
  • Banco de Dados
    • Access
    • MySQL
    • PostgreSQL
    • SQL Server
    • Demais Bancos
  • Segurança e Malwares
    • Segurança
    • Remoção De Malwares
  • Empregos
    • Vagas Efetivas
    • Vagas para Estágios
    • Oportunidades para Freelances
  • Negócios & Oportunidades
    • Classificados & Serviços
    • Eventos
  • Geral
    • Avaliações de Trabalhos
    • Links
    • Outros Assuntos
    • Entretenimento
  • Script Brasil
    • Novidades e Anúncios Script Brasil
    • Mercado Livre / Mercado Sócios
    • Sugestões e Críticas
    • Apresentações

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Encontrado 1 registro

  1. Olá, estou fazendo seguinte programa com o objetivo simples de criar uma matriz com as dimensões dadas pelo usuário durante a execução do programa, depois preencher todos os elementos da matriz com um caractere também dado pelo usuário, e por fim exibir todos os elementos da matriz na tela. Ignorem o fato de eu não ter liberado memoria por que como disse ainda estou escrevendo o programa então falta algumas partes ainda. Bom vamos ao que interessa "O erro", o programa esta compilando normalmente sem erros. Porem não consigo executá-lo até o final, ele trava antes de imprimir os elementos da matriz. Eu depurei o programa no visual estúdio e obtive a seguinte mensagem de erro: "Exception thrown at 0x00CD19CD in SQUARE.exe: 0xC0000005: Access violation writing location 0xCDCDCDCD. If there is a handler for this exception, the program may be safely continued." Também já consegui localizar o erro só não sei como corrigi-lo :). O erro está na hora de alocar o caractere na matriz, ou seja na função "gravar_char(void)". Desde já agradeço se poderem me ajudar. OBS. se forem compilar o código em um compilador que não seja o do visual studio, alterem a função "scanf_s" por "scanf" ou então dará erro na compilação. CÓDIGO: /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // program name: SQUARE // // author: "I.L" // // target: criar uma matriz bidimencional com as dimenções dadas pelo usuario durante a execução do programa // /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //libarys #include <iostream> #include <stdio.h> #include <stdlib.h> using namespace std; //variaveis globais int COLUNAS_MATRIZ; int LINHAS_MATRIZ; char **MATRIZ; char CARACTER; //declaraçõa das funções void menu_inicial(void); void menu_texturas(void); char **Alocar_matriz_real(int linhas, int colunas); void gravar_char(void); void mostrar_matriz(char **vetor); void clearbuffer(void); //função principal (main) int main(void) { system("title SQUARE"); menu_inicial(); system("cls"); menu_texturas(); gravar_char(); mostrar_matriz(); cin.get(); return 0; } //menu inicial //recebe as dimenções do usuario void menu_inicial(void) { //aqui é onde o usuario entra com as dimenções da matriz printf("\tMENU INICIAL\n\n"); printf("Especifique o numero de colunas e o numerode linhas da matriz:\n"); printf("colunas: "); scanf_s("%i", &COLUNAS_MATRIZ); clearbuffer(); printf("linhas: "); scanf_s("%i", &LINHAS_MATRIZ); clearbuffer(); //gerando a matriz MATRIZ = Alocar_matriz_real(LINHAS_MATRIZ, COLUNAS_MATRIZ); } //menu texturas // da ao usuario a opção de escolher um caracter para peencher sua matriz void menu_texturas(void) { int escolha; //LISTA DE TESTURAS char text_01 = -78; char text_02 = -79; char text_03 = -80; char text_04 = 36; char text_05 = 35; char text_06 = 38; char text_07 = 64; char text_08 = -37; char text_09 = -36; char text_10 = -50; printf("\t TEXTURAS\n\n"); printf("Escolha uma textura para seu quadrado:"); printf("\n\n"); printf(" _____ _____ _____ _____ _____ _____ _____ _____ _____ ______\n"); printf("| 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | | 8 | | 9 | | 10 |\n"); printf("| | | | | | | | | | | | | | | | | | | |\n"); printf("| %c | | %c | | %c | | %c | | %c | | %c | | %c | | %c | | %c | | %c |\n", text_01, text_02, text_03, text_04, text_05, text_06, text_07, text_08, text_09, text_10); printf("|_____| |_____| |_____| |_____| |_____| |_____| |_____| |_____| |_____| |______|\n\n\t\t\t\tEscolha: "); scanf_s("%i", &escolha); clearbuffer(); while (true) { if (escolha <= 0 || escolha > 10) { printf("\n"); while (escolha <= 0 || escolha > 10) { printf("Erro, valor %i nao permitido! ", escolha); scanf_s("%i", &escolha); clearbuffer(); } } break; } switch (escolha) { case 1: CARACTER = text_01; break; case 2: CARACTER = text_02; break; case 3: CARACTER = text_03; break; case 4: CARACTER = text_04; break; case 5: CARACTER = text_05; break; case 6: CARACTER = text_06; break; case 7: CARACTER = text_07; break; case 8: CARACTER = text_08; break; case 9: CARACTER = text_09; break; case 10: CARACTER = text_10; break; default: printf("\nErro desconhecido!"); cin.get(); break; } } //função que gera a matriz com as dimenções que o usuario passou char **Alocar_matriz_real(int linhas, int colunas) { if (linhas < 1 || colunas < 1) { /* verifica parametros recebidos */ printf("** Erro: Parametro invalido **\n"); return (NULL); } /* aloca espaço na memoria para a matriz */ char **matriz_aux = (char **)malloc((5 * sizeof(char *)) - 1); if (matriz_aux == NULL) { printf("** Erro: Memoria Insuficiente **"); return (NULL); } return(matriz_aux); } //função que aloca o caracter inserido pelo usuario void gravar_char(void) { //loop que vai alocar o caracter passado pelo usuario em cada elemento da matriz for (int linhas = 0; linhas < LINHAS_MATRIZ; ++linhas) { for (int colunas = 0; colunas < COLUNAS_MATRIZ; ++colunas) { MATRIZ[linhas][colunas] = (char)CARACTER; } } } //função que inprime na tela todos os elementos da matriz void mostrar_matriz(char **vetor) { printf("\tRESULTADO\n\n"); printf("Quadrado gerado: \n\n"); for (int linhas = 0; linhas < LINHAS_MATRIZ; ++linhas) { for (int colunas = 0; colunas < COLUNAS_MATRIZ; ++colunas) { printf("%c", vetor[linhas][colunas]); } printf("\n"); } } //limpa o buffer void clearbuffer(void) { char c; while ((c = getchar() != '\n' && c != EOF)); }
×
×
  • Criar Novo...