Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: sora_ori en 30 Noviembre 2012, 12:08 pm



Título: Primer programa en C con vectores
Publicado por: sora_ori en 30 Noviembre 2012, 12:08 pm
Buenas,

En clase me acaban de mandar unos ejercicios en C y comenzamos por vectores y la verdad es que tengo poca idea sobre C porque no hemos practicado nada.


Tengo que hacer un programa que llene un vector de 10 elementos con valores enteros y que además muestre la suma de los valores que se encuentran en posiciones del vector multiplos de 3.


Yo hice algo así con la ayuda de Google   :silbar:


Código
  1. #include <stdio.h>
  2. # include <stdlib.h>
  3. int v[100];
  4. void main ()
  5.  
  6. int main(int argc, char **argv)
  7. {
  8. int cont,vector;
  9. printf("Ingrese la cantidad de elementos\n");
  10. scanf("%d",&cont);
  11. for (cont=0;i<vector;i++)
  12. {
  13. return 0;
  14. }


Título: Re: Primer programa en C con vectores
Publicado por: dato000 en 30 Noviembre 2012, 13:28 pm
http://ronnyml.wordpress.com/2009/07/04/vectores-matrices-y-punteros-en-c/

los vectores yo los conozco como arreglos, puedes trabajarlos unidimensionales, bi-tri-multi...

Citar
Tengo que hacer un programa que llene un vector de 10 elementos con valores enteros y que además muestre la suma de los valores que se encuentran en posiciones del vector multiplos de 3.

Primero tendrias que inicializar un arreglo, por ejm:

un arreglo de enteros de 10 elementos/posiciones:
Citar
int vector[10]

si necesitas sumar los números que sean multiplos de tres, debes tener en cuenta que las posiciones de un arreglo para un programador siempre empezaran desde 0, así que para el caso de 10 posiciones, serán, de 0 - 9.

Citar
int vector[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

hay varias formas de inicializar un arreglo, mira el link que tiene info precisa y muy clara sobre el uso de vectores.

Código
  1. include <stdio.h>
  2. include <stdlib.h>
  3.  
  4. int main(int argc, char **argv)
  5.  
  6. {
  7.  
  8.         int cont;
  9.         int vector[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
  10.         int i=0;
  11.         printf("Ingrese la cantidad de elementos\n");
  12.         scanf("%d",&cont);
  13.  
  14.  
  15.             do{
  16.                    cont += vector[i];
  17.                    i += 3;
  18.             }while(i<=9);
  19.  
  20.  
  21.  
  22.          printf("el resultado de la suma es:  %d", cont);
  23.          return 0;
  24.  
  25. }
  26.  

para un caso en el que el indice aumenta en diferentes proporciones, es mejor usa un do-while o un while, el for es excelente para manejo de vectores multi-dimensionales que aumentan en uno.


Título: Re: Primer programa en C con vectores
Publicado por: twins en 30 Noviembre 2012, 18:27 pm
hola aqui esta el ejercicio si tienes dudas, consultas no dudes en preguntarme  ;D saludos
Código
  1. #include<stdio.h>
  2. int main(void){
  3. int vector[10],i,suma=0;
  4. //llenamos el vector
  5. for(i=0;i<10;i++){
  6. printf("Ingrese elementos\n");
  7. scanf("%i",&vector[i]);
  8. }
  9. printf("\n");
  10. //imprimimos el vector
  11. for(i=0;i<10;i++)
  12. printf("[%i]",vector[i]);
  13. //sumamos todos los elementos que sean multiplos de 3
  14. printf("\n");
  15. for(i=0;i<10;i++){
  16. if(vector[i]%3==0)
  17. suma+=vector[i];
  18. }
  19. printf("\n");
  20. //se imprime la suma total
  21. printf("La suma de los elementos multiplos de 3 son %i",suma);
  22. return(0);
  23. }
  24.  


Título: Re: Primer programa en C con vectores
Publicado por: sora_ori en 1 Diciembre 2012, 10:44 am
Gracias por la ayuda, pero tengo un problema y es que cuando se hace la suma se cierra la ventana.

Se tendría que hacer un pause verdad?


Título: Re: Primer programa en C con vectores
Publicado por: leosansan en 1 Diciembre 2012, 16:02 pm
Citar
Una apreciación:

   for(i=0;i<10;i++) <== mejor que i++ es i=i+3
      if(vector%3==0)<== y me ahorro esta operacion
Saluditos!.


Título: Re: Primer programa en C con vectores
Publicado por: leosansan en 1 Diciembre 2012, 20:18 pm
Gracias por la ayuda, pero tengo un problema y es que cuando se hace la suma se cierra la ventana.

Se tendría que hacer un pause verdad?
No tendría porque, pero si la quieres:
Código
  1. #include<stdio.h>
  2. int main(void){
  3. int vector[10],i,suma=0;
  4.    for(i=0;i<10;i++){
  5. printf("Ingrese elementos: ");
  6. scanf("%i",&vector[i]);
  7. }
  8. puts("\n");
  9. for(i=0;i<10;i++)
  10. printf("[%i]",vector[i]);
  11.    puts("\n");
  12. for(i=0;i<10;i=i+3)
  13.        suma+=vector[i];
  14. printf("\n");
  15. //se imprime la suma total
  16. printf("La suma de los elementos multiplos de 3 son %i\n",suma);
  17.     getchar ();
  18.     printf("\nPresiona Enter para acabar.");
  19.     while (getchar()!= '\n');
  20.    return(0);
  21. }
Saluditos!.


Título: Re: Primer programa en C con vectores
Publicado por: twins en 1 Diciembre 2012, 23:05 pm
Exactamente yo utilizo el compilador mingw, este compilador pone una pausa automaticamente al finalizar el programa,tu puedes poner una pausa poniendo antes del return(0) la opcion getchar dos veces si no te funciona debes incluir la libreria #include<stdlib.h> ,saludos


Título: Re: Primer programa en C con vectores
Publicado por: rir3760 en 2 Diciembre 2012, 02:52 am
Exactamente yo utilizo el compilador mingw, este compilador pone una pausa automaticamente al finalizar el programa
Para ser exactos es el IDE (entorno de desarrollo integrado, por ejemplo Code::Blocks) el que genera la pausa.

tu puedes poner una pausa poniendo antes del return(0) la opcion getchar dos veces si no te funciona debes incluir la libreria #include<stdlib.h>
Dos problemas con esa solución son: 1) Siendo estrictos la pausa no es parte del programa (de nuevo eso es responsabilidad del IDE) y 2) No funciona si en la ultima entrada de datos se introduce un espacio seguido del avance de linea (en ese caso hay que colocar tres llamadas a getchar, historia sin fin).

Por ultimo antes de utilizar la función getchar se debe incluir el encabezado <stdio.h>.

Un saludo


Título: Re: Primer programa en C con vectores
Publicado por: sora_ori en 2 Diciembre 2012, 11:35 am
Gracias por la ayuda compañeros.

Se me complica un poco aprender todo esto en dos días porque es mi primer programa y el profesor ya podría haber empezado desde la base para enterarse mejor.


La segunda parte del ejercicio me dice que ahora la suma ya no la pide. Solo los 10 vectores y que luego el usuario escriba un numero y diga si esta en la lista.



Saludos


Título: Re: Primer programa en C con vectores
Publicado por: leosansan en 2 Diciembre 2012, 19:42 pm
Procura colgar antes parte del código que llevas. Pero como ya habías puesto lo anterior una ayudita:
Código
  1. #include<stdio.h>
  2. int main(void){
  3. int vector[10],i,num;
  4.    for(i=0;i<3;i++){
  5. printf("Ingrese elementos: ");
  6. scanf("%d",&vector[i]);
  7. }
  8. puts("\n");
  9. for(i=0;i<10;i++)
  10. printf("[%i]",vector[i]);
  11.    puts("\n");
  12. printf("Ingrese un numero: ");
  13. scanf("%d",&num);
  14. for(i=0;i<10;i++){
  15.        if (num==vector[i]){
  16.            printf("\nEsta en la lista");
  17.            return 1;
  18.        }
  19. }
  20.    puts("\nNo esta en la lista");
  21.    return(0);
  22. }
Saluditos!.


Título: Re: Primer programa en C con vectores
Publicado por: jhousef_innovador en 6 Diciembre 2012, 03:39 am
Que tal Amigo, me parece que buscas algo asi

Código
  1. #include <iostream.h>
  2. #include <stdio.h>
  3. #include <conio.h>
  4. using namespace std;
  5. int main()
  6. {
  7. int a[100];
  8. int n = 10;
  9. int i;
  10. int s = 0;
  11.  
  12.  
  13. for (i=1; i<=10; i++) {
  14.    cout<<"\nIngresa numero "; cout<< i; cout<<" : "; cin>> a[i];
  15.    }
  16.  
  17. for (i=1; i<=10; i++) {
  18.    if (i%3==0) {
  19.                s = s+a[i];
  20.                }
  21.    }    
  22. system("CLS");
  23. cout<<"\nLos Multiplos de 3 Son: ";
  24. for (i=1; i<=n; i++) {
  25.    if (i%3==0) {
  26.    cout<<"["; cout<< a[i]; cout<<"] ";
  27.               }
  28.    }
  29.  
  30. cout<<"\n\nLa Suma Es: "; cout<<s;
  31.  
  32. getch();
  33. }
  34.