Ayuda en C (Arreglo, Impar y Ordenar)

Iniciado por ranker, 27 Mayo 2015, 21:58 PM

0 Miembros y 1 Visitante están viendo este tema.

ranker

Hola a todos, me podrías ayudarme a hacer con el ejercicio en C.
Hacer un programa que tenga un arreglo de 50 posiciones se debe poder realizar una búsqueda de un elemento y se debe informar si esta o no, si esta se debe decir si esta repetido y cuantas veces ademas presentar la suma de los elementos de las posiciones impares. Debemos también permitir eliminar una posición que se desee y ordenador los datos para que no quede el lugar vació.

engel lex

no se hacen tareas, se resuelven dudas especificas sobre asuntos puntuales...

no esperes el código hecho... si tienes una duda sobre un tema claro, publícala, también lo que lleves de tu código (debes usar las etiquetas GeSHi al publicar código)
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

ranker

Cita de: engel lex en 27 Mayo 2015, 22:06 PM
no se hacen tareas, se resuelven dudas especificas sobre asuntos puntuales...

no esperes el código hecho... si tienes una duda sobre un tema claro, publícala, también lo que lleves de tu código (debes usar las etiquetas GeSHi al publicar código)

yo lo sabia pero bueno es dificil para mi este ejercicio, lo siento man.

engel lex

aún sigo sin ver ninguna duda... si no expones tus dudas es difícil que podamos resolverlas...
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

ranker

#4
Cita de: engel lex en 27 Mayo 2015, 22:12 PM
aún sigo sin ver ninguna duda... si no expones tus dudas es difícil que podamos resolverlas...
esta bien te lo dejo mi codigo que hice trabajo ayer, pero es dificil lo de elementos impar y el arreglo numero

void main(){
int a[50],enc=0,mid,cont,cont1,n,x,suma,pos,inf=0,sup=50;
clrscr();
for(cont=0;cont<50;cont++)
a[cont]=random(100)+1;
printf("\n El arreglo es: \n");
for(cont=0;cont<50;cont++)
printf(" %d ",a[cont]);
printf("\n Que elemento desea buscar? \n");
scanf("%d",&n);
while(inf<=sup && enc!=1){
  mid=(inf+sup)/2;
  if(a[mid]==n){
printf("\n El numero se encontro y se repite: %d",mid);
enc=1;
cont1++;
      }else if(a[mid]>n){
     sup=mid;
     cont1++;
 else(inf==mid)
      cont1++;
     }
     }
    printf(" \n El numero se repite: %d",cont1);
   if(enc==0)
printf("El numero no se encontro");
for(cont=1;cont<49;cont++)
suma=(a[cont]+a[cont+2]);
printf("\n La suma de las posiciones impares es: %d",suma);
printf("\n Que posicion desea eliminar? \n");
scanf("%d",&pos)
for(cont=0;cont<50;cont++)
a[pos]=a[cont+1];
a[cont]=a[cont+1];
for(cont=0;cont<50;cont++)
printf("\n el arreglo quedo: &d",a[cont]);
getch();
}

Mod: Corregido con etiquetas GeSHi para hacerlo más legible

engel lex

una llaves! :S no se cual es la adversion de la gente hacia las llaves... eso evita muchos problemas y aumenta mucho la legibilidad del código

para buscar no es necesario tanto código... desde la linea 11 hasta la 26 puede resumirse en

Citarse debe informar si esta o no, si esta se debe decir si esta repetido y cuantas veces

for(i=0;i<50;i++){//se revisa
  if(a[i]==n){
    enc++;
  }
}
if(enc==0){//si no está
  //imprime "no se encontro"
}else{//si está
  //imprime "se encontró"
}
// obsevar que no tienen el salto de linea para completar luego

if(enc>1){//si se repite
  //imprime " y se repite %d veces",enc
}
//imprime "\n"
//tienes la frase bien armada y con salto de linea final



la linea 27 la suma no la veo bien que hace... mejor esto ("suma" debe estar inicializado a 0)

Citarpresentar la suma de los elementos de las posiciones impares.

for(i=1;i<50;i+=2){//i+=2 es lo mismoq ue i=i+2
  suma+=a[i];
}



en la linea 33 o 34 te debe dar error por no usar las llaves...esto -> {} <-  siempre debe usarse, especialmente si no eres ampliamente experimentado...

corrige esa ultima parte
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.