|
261
|
Programación / Programación C/C++ / Re: Problema con cin.getline
|
en: 23 Agosto 2013, 06:50 am
|
Yo entiendo, aunque si tuvieses una forma de manejar la primera situacion me gustaria saber, como el gets(), que cuando le pasas por parametro el tamaño de la cadena y el usuario escribe de mas, la funcion solamente tomara hasta el maximo que le indicaste, aunque en este caso creo q hace lo mismo y cuando va al segundo cin.getline(), lo omite, y tampoco puedo hacer algo del tipo while(getchar() != '\n');
antes del segundo cin.getline(), por eso quisiera saber una forma de poder solucionarlo de la forma en que lo presente, y sino, bueno tendre que hacerlo de la forma en que dijiste.
|
|
|
263
|
Programación / Programación C/C++ / Re: Problema con cin.getline
|
en: 23 Agosto 2013, 06:12 am
|
La primera solucion que propones no la veo muy satisfactoria, es facil agregar cin.getline(str1, 1000000000000,'\n');
pero se ve "anti-programador" tener eso asi xD. Me gustaria una especie de codigo que pueda manejar ese exceso de la cadena. Probare la segunda solucion.
|
|
|
264
|
Programación / Programación C/C++ / Re: Como cifrar letra por letra en C++
|
en: 23 Agosto 2013, 05:32 am
|
No soy tan experto como uds pero siguiendo la regla del cifrado de Cesar logre hacer mi codigo asi: #include <stdio.h> #include <string.h> #include <stdlib.h>
int main(){ char oracion[100]; char codificado[100]; int i, desp; for(i = 0; i < 100; i++) codificado[i] = '\0'; printf("Ingrese una oracion para cifrar:\n"); fgets(oracion, 100, stdin); do{ printf("Ingrese el numero de desplazamientos en el abecedario: "); scanf("%d", &desp); if(desp > 27) printf("El desplazamiento no puede ser mayor a 27\n\n"); } while(desp > 27); for(i = 0; i < strlen(oracion); i++){ if(oracion[i] >= 65 && oracion[i] <= 90){ if(oracion[i] + desp > 90) codificado[i] = (oracion[i] - 90) + desp + 64; else codificado[i] = oracion[i] + desp; } else{ if(oracion[i] >= 97 && oracion[i] <=122){ if(oracion[i] + desp > 122) codificado[i] = (oracion[i] - 122) + desp + 96; else codificado[i] = oracion[i] + desp; } else codificado[i] = oracion[i]; } } printf("La oracion codificada es: %s", codificado); getchar(); return 0; }
EDIT: Olvide inicializar el array "codificado"
|
|
|
265
|
Programación / Programación C/C++ / Problema con cin.getline
|
en: 23 Agosto 2013, 02:10 am
|
Hola de nuevo, mi nuevo problema es con la funcion que nombre en el titulo, y bueno el codigo es este: #include<iostream>
using namespace std;
int main() { char str1[5], str2[5]; cout << "Introduce una frase: "; cin.getline(str1, 5, '\n'); cout << "Tu frase es: " << str1; cout << endl << "Ingrese otra frase: "; cin.getline(str2, 5, '\n'); cout << endl << "Tu frase es: " << str2 << endl; cin.get(); }
Como podran ver, el programa funcionara mal si el usuario introduce una cadena mayor a 4, y queria saber si me podrian ayudar con una solucion a eso. Gracias
|
|
|
267
|
Programación / Programación C/C++ / Re: Libreria C++
|
en: 22 Agosto 2013, 21:15 pm
|
Hola, estoy en C:/Archivos de programa/CodeBlocks/MinGW/include Y solamente veo carpetas llamadas, ddk, gdb, gdiplus, GL, sys, pero ninguna llamada C++, revise en cada una pero no encuentro alguna carpeta llamada C++
|
|
|
268
|
Programación / Programación C/C++ / Libreria C++
|
en: 22 Agosto 2013, 20:30 pm
|
Hola, disculpen esta pregunta tonta, pero alguno sabe donde puedo conseguir una lista de las librerias que sean propias de C++? Todo lo que encuentro son las estandar ANSI C, yo lo que quiero saber es la lista donde se encuentran por ejemplo la <iostream>, <cstring>, etc. Gracias.
|
|
|
270
|
Programación / Programación C/C++ / Enviar una matriz desde una funcion a la matriz del main
|
en: 22 Junio 2013, 01:29 am
|
Hola, es mi primer post y mi problema es que haciendo una multiplicacion de matrices no entiendo porque la funcion no envia los datos correcto a la funcion del main, este es mi codigo: #include <stdio.h> #include <conio.h> #define N 2 int agregarValores(); int multiplicarMatriz(int matriz1[N][N], int matriz2[N][N]); main(){ int m1[N][N], m2[N][N], m3[N][N], fil, col; m1[N][N]=agregarValores(); m2[N][N]=agregarValores(); m3[N][N]=multiplicarMatriz(m1, m2); printf("\nEl resultado de la matriz es:\n\n"); for(fil=0;fil<N;fil++){ for(col=0;col<N;col++){ if(col==0) } } } int agregarValores(){ int fil, col, matriz[N][N]; for(fil=0;fil<N;fil++){ for(col=0;col<N;col++){ printf("\nFila %d, Columna %d = ", fil +1, col +1); scanf("%d",&matriz [fil ][col ]); } } return matriz[N][N]; } int multiplicarMatriz(int matriz1[N][N], int matriz2[N][N]){ int fil, col, k, acu, matriz3[N][N]; for(fil=0;fil<N;fil++){ for(col=0;col<N;col++){ for(k=0;k<N;k++){ matriz3[fil][col]+=matriz1[fil][k]*matriz2[k][col]; } } } return matriz3[N][N]; }
Gracias de antemano
|
|
|
|
|
|
|