Programación General > C/C++

 eliminar posicion de arreglo bidimencional

(1/1)

apocaliptica100:
ola a todos pues nesesito su ayuda o asesoria para que me digan de como puedo eliminar una posision de un arreglo bidimencional por ejemplo si kiero eliminar los pares de un arreglo por ejemplo
2 5 6
1 9 8
y lugo aparese una lista de los numeros a eliminar que en este caso serian los pares
2 6 8
jeugo se crea otro arreglo bidimencional con los numeros no eliminados
5 1
9  0<---- el cero por que sobraria una posicion
espero que me puedan ayudar con eso y si no es todo pues tansolo que alguen me explique como se elimina una posiscion
aki dejare el codigo que llevo echo

--- Código: C++ --- #include<stdio.h>#include<conio.h>#include<stdlib.h>#include<time.h>int main(){    int x,y,n,m,i,j,l,s;    printf("ingrese cantidad de filas: ");    scanf("%d" ,&n);    printf("ingrese cantidad de columnas: ");    scanf("%d" ,&m);    system("cls");    int N[n][m];    srand(time(NULL)*1);     printf("ingerse rango 1: ");    scanf("%d" ,&y);    printf("ingerse rango 2: ");    scanf("%d" ,&x);    for(i=0;i<n;i++)    {         for(j=0;j<m;j++)         {             N[i][j]=((rand()%x)+y);              }              }     system("cls");    for(i=0;i<n;i++)    {       printf("n");         for(j=0;j<m;j++)         {             printf(" %d " ,N[i][j]);              }              }                             printf("nn1.eliminar paresn2.eliminar inparesn3.eliminar primosn4.eliminar perfectosnselecciona:  ");              scanf("%d",&l);              switch (l)              {                     case 1:                    for(i=0;i<n;i++)    {         for(j=0;j<m;j++)         {             if(N[i][j]%2==0)             {                       printf(" %d " ,N[i][j]);                             }              }              }                                                break;                     case 2:                          for(i=0;i<n;i++)    {         for(j=0;j<m;j++)         {             if(N[i][j]%2==1)             {                       printf(" %d " ,N[i][j]);                             }              }              }                      break;                     case 3:    for(i=0;i<n;i++)    {         for(j=0;j<m;j++)         {     if(N[i][j] % 2 == 1)     {                            printf(" %d " ,N[i][j]);                                          }}}                                                              break;                     case 4:   for(i=0;i<n;i++)    {         for(j=0;j<m;j++)         {                         switch(N[i][j])                         {                                        case 6:                                             printf(" %d " ,N[i][j]);                                             break;                                             case 28:                                             printf(" %d " ,N[i][j]);                                             break;                                             case 496:                                             printf(" %d " ,N[i][j]);                                             break;                                             case 8128:                                             printf(" %d " ,N[i][j]);                                             break;                                             case  33550336:                                             printf(" %d " ,N[i][j]);                                             break;         }}}                     break;                     }                                       getch();              return 0;}           

alexg88:
Para eliminar una posición de un array la única manera en C es desplazar los elementos a la izquierda.

Otra cosa de tu código: no puedes crear arrays de tamaños variables como estás haciendo, me refiero a que pones int N[n][m],
eso da un error en tiempo de compilación.

Navegación

[0] Índice de Mensajes

Ir a la versión completa