Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

TaiSuzart

exercicio com ponteiros

Recommended Posts

Altere o programa
abaixo para desenhar um triângulo na matriz formada
por elementos 0 e 1 (conforme o desenho ao lado do
código).

 

000010000
000111000
001111100
011111110
111111111

 

 

void piramide()
{ int i,j,z; int tamanho = 9;
int mat[(tamanho/2)+1][tamanho];
for(i=0; i < (tamanho/2) + 1; i++) {
for(j=0; j < tamanho; j++) {
mat[j] = 0;
}
}
for(i=0; i < (tamanho/2) + 1; i++) {
for(j=0; j < tamanho; j++) {
printf(“%d”, mat[j]);
}
printf(“\n”);
}
}

 

 

Resolução do exericio:

#include <stdio.h>
#include <stdlib.h>

int main(){
int i,j;
int tamanho=9;
int mat[(tamanho/2)+1][tamanho];
for(i=0;i<(tamanho/2)+1;i++){
for(j=0;j<tamanho;j++){
mat[j]=0;
if(i==0){
if(j==(tamanho/2)){
mat[j]=1;
}
}else{

if ((mat[i-1][j-1]==1)
|| (mat[i-1][j]==1)
|| (mat[i-1][j+1]==1)) {
mat[j]=1;
}
}
}
}

for(i=0;i<(tamanho/2)+1;i++){
for(j=0;j<tamanho;j++){
printf("%d",mat[j]);
}
printf("\n");
}
system("PAUSE");
return 1;
}


A primeira parte é desenvolver o programa eu já desenvolvi. Mas a segunda parte o professor pede fazer o programa utizando ponteiros. E eu não estou conseguindo fazer. Alguem pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja se isso te serve:

int main(){
  
  int i;
  const int tamanho = 9;
  int *mat = new int[(tamanho + 1) / 2 * tamanho];
  for (i = 0; i<((tamanho + 1) / 2 * tamanho); i++){
    *(mat + i) = 0;
    if (i < tamanho){
      if (i == (tamanho / 2)){
        *(mat + i) = 1;
      }
    }
    else{
      if ((*(mat + i - tamanho - 1) == 1)
	    || (*(mat + i - tamanho) == 1)
	    || (*(mat + i - tamanho + 1)) == 1) {
        *(mat + i) = 1;
      }
    }
  }

  for (i = 0; i < ((tamanho + 1) / 2 * tamanho); i++){
    printf("%d", *(mat + i));
    
    if ((i + 1) % tamanho == 0)
      printf("\n");
  }
  system("PAUSE");
  return 1;
}

Tentei ao máximo manter parecido com o programa que você já tinha feito.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.