|
1152
|
Programación / Programación C/C++ / Re: Ayuda con arrays
|
en: 18 Noviembre 2012, 18:48 pm
|
Justo lo que te indica Durasno, y como por otros post veo que se te atragantan los intercambios en un array te dejo esto:#include<stdio.h> #include<stdlib.h> #define N 8 int main() { int numeros[N]={45,67,13,29,3,28,32,51},i,x,c,aux,indice; int mayor,menor; /*for(i=0;i<10;i++) { printf("Dame el elemento de la posicion %d:",i); scanf("%d",&numeros[i]); }*/ menor = numeros[0]; for(c=0;c<N;c++) { if (numeros[c]<menor) {menor=numeros[c]; indice=c;} } aux=menor; numeros[indice]=numeros[0]; numeros[0]=menor; for(c=0;c<N;c++) { printf("%d ",numeros[c]); } return 0; }
Saludos!.
|
|
|
1154
|
Programación / Programación C/C++ / Re: SERIES DE TAYLOR C++
|
en: 17 Noviembre 2012, 20:53 pm
|
No hace falta la función factorial ni la que emule a pow:/* serie e^x */ #include <stdio.h> int main() { int terminos; double x; double serie(double ,int ); printf("Este programa calcula \"e\" elevado a \"x\" por desarrollo en serie\ncon el numero de terminos que quieras\n"); printf("Teclea x: "); scanf("%lf",&x); printf("Teclea el numero de terminos: "); scanf("%d", &terminos); printf("El resultado de e elevado a %g con %d terminos es %1.16lf\n", x, terminos, serie(x, terminos)); return 0; } double serie(double z, int numero) { double miserie=1, frac; int i; frac=z; miserie+=frac; i=2; if (numero==1) { miserie=1; return miserie; } while (i<=numero) { frac=frac*z/i++; miserie+=frac; } return miserie; }
Si, ya sé que está el código en C en lugar de C++ como querias, pero es que no has puesto nada tuyo y tampoco es plan de hacerte la tarea a la carta. Saludos!.
|
|
|
1155
|
Programación / Programación C/C++ / Re: Ayuda con arrays
|
en: 15 Noviembre 2012, 22:26 pm
|
Primero me pide desplazar un array: (suponiendo que N sea 10): DAME 10 ENTEROS: 3 24 7 –25 0 3 21 19 3 895
El array desplazado hacia la IZQUIERDA queda así: 24 7 –25 0 3 21 19 3 895 3
De forma parecida tendrías:#include <stdio.h> #include <stdlib.h> #define N 10 int main() { int i,aux1; int t[N]={3,24,7,-25,0,3,21,19,3,895}; aux1=t[0]; for (i=1;i<N;i++) t[i-1]=t[i]; t[N-1]=aux1; for (i=0;i<N;i++) printf("%d ",t[i]); return EXIT_SUCCESS; }
Saludos!.
|
|
|
1156
|
Programación / Programación C/C++ / Re: Ayuda con arrays
|
en: 15 Noviembre 2012, 20:46 pm
|
Ahora me pide que haga lo mismo sólo que esta vez desplazando los elementos hacia la derecha y dejando el último elemento en la primera posición del array.
Ejemplo (suponiendo que N sea 10): DAME 10 ENTEROS: 3 24 7 –25 0 3 21 19 3 895
El array desplazado hacia la DERECHA queda así:
895 3 24 7 –25 0 3 21 19 3
Si de lo que se trata es de "hacerlo" y no tan solo "simularlo":#include <stdio.h> #include <stdlib.h> #define N 10 int main() { int i,aux2; int t[N]={3,24,7,-25,0,3,21,19,3,895}; aux2=t[N-1]; for (i=N-2;i>=0;i--) t[i+1]=t[i]; t[0]=aux2; for (i=0;i<N;i++) printf("%d ",t[i]); return EXIT_SUCCESS; }
Saludos!.
|
|
|
1158
|
Programación / Programación C/C++ / Re: Una ayuda con este programa por favor
|
en: 13 Noviembre 2012, 19:25 pm
|
PROBLEMA 1: CALCULO DE LA SERIE R Calcule para n cantidad de R la siguiente serie si R es un valor de S = + 1/R - 2/(R-1) +3/(R-2)........... R/1 Observe que los signos deben ser alternos. Ejemplo: Si R = 4 entonces, + 1/4 - 2/3 + 3/2 - 4/1 = -2.917 Una posible solución para este problema es: #include <stdio.h> int main () { int i,r; float suma=0,sg=1; printf("Introduzca la cantidad para R: "); scanf(" %d",&r); for (i=1;i<=r;i++){ /*printf ("\nsumando(%d) = %f",i,sg*(i)/(r-i+1.0));*/ sg=(sg==-1) ? 1:-1; suma-=sg*(i)/(r-i+1.0); } printf ("\n\nsuma = %f\n\n",suma); return 0; }
Saludos!.
|
|
|
1159
|
Programación / Programación C/C++ / Re: Problema con busqueda en arreglo de string
|
en: 13 Noviembre 2012, 00:28 am
|
Salvo pifia escondida ya funciona como quieres :/* PROBLEMAS Y ERRORES: 1.- El ciclo FOR,para almacenar nombre y apellidos, me tira un numero mas */ #include <iostream> #include <cstdio> #include <cstring> using namespace std; int main() { int j,k,cont =0; const int MAX = 100; //Tamaños maximos para filas y columnas del arreglo const int TAM = 50; //Variables iniciadas para evitar valores basura char estudiante[MAX][TAM]; char buscar[TAM]; int tamFila = 0; cout << "Este programa le permite capturar el nombre y apellido." << "\nde estudiantes esperando en fila, y tambien verifica si un \n" << "nombre introducido por teclado esta en la lista." << "\n_______________________________________________________\n\n\n"; cout << "\t\t::Caja No. 511::\n"; cout << "\nIntroduzca tamano de la fila:"; cin >> tamFila; cout << "\nNombre y apellido estudiantes en fila.\n"; for ( j = 0; j < tamFila; j++) { fflush (stdin); gets(estudiante[j]); } cout << "\n\n\n\t<BUSQUEDA>\n " << "\tPara resultados positivos introduzca\n el nombre tal como lo escribio.\n\n" << "Nombre y apellido estudiante: "; fflush (stdin); /*cin.getline(buscar, sizeof(buscar));*/ cin >> buscar; for( k = 0; k < tamFila; k++) { /*int valorCmp = strcmp(estudiante[k], buscar);*/ if ( strcmp(estudiante[k], buscar)==0 ) { cout << estudiante[k] << buscar<<endl; cout << "=> "<< buscar << " por favor pase a pagar.";cont=1;break; } } if ( cont==0) cout << "=> El que se fue de la fila pierde su silla, \n" ; cout <<"\n\n Personas en fila\n"; for ( j = 0; j < tamFila; j++) { { cout << j+1 << ".- " <<estudiante[j] << endl; } } return 0; }
Saludos!.
|
|
|
|
|
|
|