Eliminación de un elemento de la matriz (Lenguaje C)
plkraz
-
M3NSONG3 Mensajes publicados 670 Estado Miembro -
M3NSONG3 Mensajes publicados 670 Estado Miembro -
Bonjour
No consigo entender la parte en negrita
#include<stdio.h>
#include<stdlib.h>
int main()
{
int t[100];
int i,j,n,a;
printf("Dame el número de elementos del arreglo:\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("Dame el elemento %d:\t",i+1);
scanf("%d",&t[i]);
}
for(i=0;i<n;i++)
printf("%d ",t[i]);
printf("\n");
printf("Dame el elemento a eliminar del arreglo:\n");
scanf("%d",&a);
for(i=0;i<n;i++)
{
if(t[i]==a)
{
for(j=i;j<n-1;j++)
t[j]=t[j+1];
n--;
i--;
}
}
for(i=0;i<n;i++)
printf("%d ",t[i]);
printf("\n");
system("pause");
return 0;
}
¿para qué sirve?
gracias
No consigo entender la parte en negrita
#include<stdio.h>
#include<stdlib.h>
int main()
{
int t[100];
int i,j,n,a;
printf("Dame el número de elementos del arreglo:\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("Dame el elemento %d:\t",i+1);
scanf("%d",&t[i]);
}
for(i=0;i<n;i++)
printf("%d ",t[i]);
printf("\n");
printf("Dame el elemento a eliminar del arreglo:\n");
scanf("%d",&a);
for(i=0;i<n;i++)
{
if(t[i]==a)
{
for(j=i;j<n-1;j++)
t[j]=t[j+1];
n--;
i--;
}
}
for(i=0;i<n;i++)
printf("%d ",t[i]);
printf("\n");
system("pause");
return 0;
}
¿para qué sirve?
gracias
1 respuesta
-
¡Hola!
La próxima vez intenta indentar tu código y usar la etiqueta adecuada para... Una vez que el código esté indentado, se ve mucho más claro:#include<stdio.h> #include<stdlib.h> int main() { int t[100]; int i,j,n,a; printf("Dame el número de elementos del array:\n"); scanf("%d",&n); for(i=0;i<n;i++) { printf("Dame el elemento %d:\t",i+1); scanf("%d",&t[i]); } for(i=0;i<n;i++) printf("%d ",t[i]); printf("\n"); printf("Dame el elemento a eliminar del array:\n"); scanf("%d",&a); for(i=0;i<n;i++) { if(t[i]==a) { for(j=i;j<n-1;j++) t[j]=t[j+1]; n--; i--; } } for(i=0;i<n;i++) printf("%d ",t[i]); printf("\n"); system("pause"); return 0; }
Para responder a tu pregunta, la parte que has resaltado, literalmente, busca tu valor, y una vez que lo encuentra, desplaza todos los valores siguientes una posición hacia atrás (lo que tiene como efecto eliminar tu valor)
Luego actualiza el i y el n con un elemento menos para la visualización que sigue.