Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - estudiante_1

#31
He sacado una forma de tachar los múltiplos, es esta:
for(i=2;i<n;i++){
      for(j=2;i*j<n;j++){
         printf(" Este no es primo %d\n",v[i*j]);
      }
     }

El problema es que no se me ocurre como imprimir los que sí son primos. Una ayudita por favor. :rolleyes:
#32
Cita de: A.I. en 27 Julio 2015, 20:42 PM
Poner en la posición el valor del indice es información redundante. En lugar de hacer eso al recorrer el vector pon un 0 (no primo) o un 1 (primo). Además utilizando punteros (o simple aritmética con los indices) puedes ahorrarte bastantes operaciones.
No entiendo lo que quieres decir, además en este problema no me dejan utilizar punteros.
Cita de: Gus Garsaky en 27 Julio 2015, 21:05 PM
Yo hice lo mismo para un amigo pero en Java. Te dejo el gist para que lo veas y lo traduzcas a C: Números primos con criba de eratóstenes
Soy nuevo en esto, no llevo ni un año y la verdad es que solo sé "manejar" C.
Gracias de todos modos.
#33
Realizar un programa que calcule los números primos entre 1 y N mediante la criba
de Eratóstenes. El sistema consiste en crear una tabla con los números del 2 a N. El
primer número no tachado (el 2) es primo. Tachar todos los múltiplos del 2. El primer
número no tachado (el 3) es primo. Tachar todos los múltiplos del 3. El primer número
no tachado (el 5) es primo. Tachar todos los múltiplos del 5.
     Mi problema es que no sé como "tachar" los múltiplos. Este es lo que yo llevo hecho:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
     int main(void){
int n;
     scanf("%d",&n);

      int v[n];
     int i;
     for(i=2;i<n;i++){
            v[i]=i;
printf("%d\n",v[i]);
     }
     for(i=2;i<n;i++){
        if(v[i]%i!=0) printf("\n%d\n",v[i]);

     }
     system("pause");
     return(0);

     }

#34
Gracias,ya me salió el problema y lo entendí.
#35
Al hacerlo me sigue dando que la posición es 10.
#36
 Es en C, y cómo hago entonces para saber la posición, no lo entiendo.
#37
Escribir una función que busque en un vector de números el máximo valor, e indique
su valor y posición. Se supone que el vector está desordenado.
No me sale, esto es lo que hecho, ayuda por favor. Gracias :huh:





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









int main(void){
int v[10];
int i;
int mayor=0;
srand(time(NULL));
for(i=0;i<10;i++){
v[i]=(1+rand()%10);

printf("%d\n",v[i]);
}
for(i=0;i<10;i++){
   if(v[i]>mayor){

       mayor=v[i];
       printf("%d es el mayor. Su posicion es %d\n",mayor,i);
   }
   }










system("pause");
return(0);
}
#38
Gracias a todos por vuestras respuestas
#39
 Pues eso, quiero invertir una cadena de caracteres, no me sale del todo correcto, esto es lo que he hecho. Una ayuda por favor.



#include<ctype.h>
int main(void){
char cad[10];
printf("introduzca un nombre\n");
scanf("%s",cad);
printf("El nombre leido es: %s\n",cad);

char cadinv[10];
int i, temp, len,ultimo;
ultimo = strlen(cad) - 1;
for(i=0; i <= strlen(cad); i++){
    temp = cadinv[i];
    cadinv[i]=cad[ultimo - i];
    cad[ultimo - i] = temp;
}





puts(cadinv);


  system("pause");
return(0);

}
#40
Gracias, y si quiero hacerlo con un nombre, recorro la cadena con un for?