elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ... 132
141  Programación / Programación C/C++ / Re: Problema con matrices en: 4 Julio 2014, 23:16 pm
* Tienes errores en los punteros del array bidimensional, que han de ser **, tanto en su declaración como en los argumentos de las funciones.

* Se te ha ido la olla al hacer mat[ i , j ] en lugar de mat [ i ][ j ]

* Tienes mal declarado el array bidimensional con el operador new.

* Te falta el return de main.

Con esas correcciones o puntualizaciones, ya que el resto del código es el tuyo, y tabulando o indentando el código de forma más razonable -no escatimes con los espacios en blanco, si no queda todo apelotonado- una posible solución, según tienes planteado, sería:



EI: codigo suprimido.



Por cierto, si quieres la suma de la diagonal no olvides que fil = col. Y si han de ser iguales te puedes ahorrar un cin, tomando col = fil si la matriz ha de ser del tipo n x n.



142  Programación / Programación C/C++ / Re: Aporte C++: Utilidades de la STL que tal vez no conoces en: 4 Julio 2014, 07:40 am
.........................................................
En que parte de los ejemplos se utilizan estas librerias y para que? muchas gracias por compartir y suga aumentadolo si queda tiempo

Código
  1. #include <algorithm>
  2. #include <utility>
....................................................






143  Programación / Programación C/C++ / Re: Colores de fondo y para texto en C en: 4 Julio 2014, 07:26 am
Código
  1. #include <stdio.h>
  2.  
  3. #define ROJO "\x1b[31m"
  4. #define REST "\x1b[0m"
  5.  
  6. int main (int argc, char const *argv[]) {
  7.  printf(ROJO "ROJO" REST "\n");
  8.  return 0;
  9. }
..........................................
Supongo que trabajas en Linux o similar ya que en Windows no me funcionan dichas secuencias de escape. Porfi Slava_TZD, si me equivoco corrígeme pelease.

Para el entorno Windows, no sé si en Linux, puedes ver el siguiente enlace:



,,,
. .
 |
\-/


¡¡¡¡ Saluditos! ..... !!!!


144  Programación / Programación C/C++ / Re: principiante en: 2 Julio 2014, 13:21 pm

,,,
. .
 |
\-/



La declaración de fichero y cadena han de ir antes de los case porque si los metess en el case te cantará error:

Citar
error: a label can only be part of a statement and a declaration is not a statement|

¡¡¡¡ Saluditos! ..... !!!!




145  Programación / Programación C/C++ / Re: Ayuda en c++ Urgente!!!! en: 1 Julio 2014, 16:55 pm
lo que preguntas, en el otro tema, no te sirve, porque la otra persona tenía un dato extra que le permitía hacer un sistema de ecuaciones, que era el dato sobre la cantidad de invitados...

.................................

intenta aplicar esto (modificado a tu problema, que no tiene indicado que son 100 invitados........................


Perdona la observación engel lex y si me equivoco corrígeme, please:

Un centenar de mujeres, hombres y niños asistieron a un banquete para recaudar fondos.
...............................

Con lo que basta un simple for para obtener la solución:

Citar
Diputados: 33  Senadores: 46  Invitados: 21  Total: 100  Total recaudado: 7869

Process returned 0 (0x0)   execution time : 0.023 s
Press any key to continue.

Y a quien procede, dejo el código ya que creo que está bien "ofuscado" y no serviría para "entregar" como solución, a no ser que se lo curre y se entere de lo que pone. En cualquier caso aconsejo visitar el enlace de la cita de engel lex en su mensaje para "ampliar" puntos de vista:

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main (){
  6.  for (int i=0; i<=100; ++i)
  7.    if ( (100-(369+35*i)/24-i) >=0 && 99*(369+35*i)/24+(100-(369+35*i)/24-i)*75 + 40*i == 7869 )
  8.      cout << "Diputados: " << (100-(369+35*i)/24-i) << "  Senadores: "<< (369+35*i)/24 << "  Invitados: " << i << "  Total: " << (369+35*i)/24+(100-(369+35*i)/24-i)+i << "  Total recaudado: " << (100-(369+35*i)/24-i)*75 +99*(369+35*i)/24+ 40*i << endl;
  9.  return 0;
  10. }

¡¡¡¡ Saluditos! ..... !!!!


146  Programación / Programación C/C++ / Re: necesito q el programa me pida los datos hasta q yo le diga que no, y que imprim en: 30 Junio 2014, 00:09 am
Yo te aconsejaría usar una sola función Zona a cambio de pasarle como parámetro la velocidad máxima en cada caso.

Código
  1. float Zona(float v,float limit){
  2.  float mult=0;
  3.  if(v>limit)
  4.    mult=(1000+(500*(v-limit)));
  5.  else
  6.    mult=0;
  7.  return mult;
  8. }

Y ya que has arreglado lo del while también te aconsejaría usar un par de arrays para ir quedando los coches que pasan por cada zona y los que en las mismas son multados:

Código
  1. float velocidad,promedio[4]={0},cont[4]={0};
  2.  int zona,multa[4]={0};

Y el tratamiento de una zona, la cuatro como ejemplo, la haría:

Código
  1. ///faltaria las zona=1,  zona=2 y zona=3, analogas a la 4
  2. ///con las correspondientes velocidades maximas de argumento en la funcion Zona  
  3.    if((zona==4) && (Zona(velocidad,180)==0)){
  4.      cout<<placa<<" no paga multa"<<endl;
  5.     cont[3]++;
  6.    }
  7.    else if(zona==4 && Zona(velocidad,180)!=0){
  8.      cout<<placa<<" su multa es=  "<<Zona(velocidad,180)<<endl;
  9.      cont[3]++;
  10.      multa[3]++;
  11.    }
  12.    if(zona==4 && cont[3]!=0)
  13.       promedio[zona-1]+=Zona(velocidad,180);
  14.  
  15.    cout<<"cargar mas s/n=<"<<endl;
  16.    cin>>opc;
  17.  
  18.  }///fin del WHILE
  19.  if(opc=='n'){ //SOLO aqui va
  20.    for(zona=0;zona<4;zona++)
  21.      if (cont[zona]!=0)
  22.      cout<<"[zona= "<<zona+1<<"] "<<endl<<"Promedio de las multas = "<<promedio[zona]/cont[zona]<<"   Multas: "<<multa[zona]<<"   Vehiculos que han circulado: "<<cont[zona]<<endl;
  23.  }

Aunque yo sería partidario de un swtich en lugar de tanto if-else.

Pero para que vayas cogiendo una idea creo que te vale,

¡¡¡¡ Saluditos! ..... !!!!




Y por favor, indenta  más correctamente el códiogo.


147  Programación / Programación C/C++ / Re: AYUDA CON EXTRAER DEL STRFTIME en: 27 Junio 2014, 15:06 pm
ok a ver si me explico mejor quiero que la variable que tenga la fecha la pueda separar pero no se como  :-(  eso es lo q necesito

es decir si  char fecha[128]= 25/05/2014

quiero saber como separar de esa cadena de caracteres el 25 el 05 y el 2014 eso es lo q quiero  

Una forma sería con sscanf:

Citar
dia = 25  mes = 5  anyo = 2014

Process returned 0 (0x0)

Código
  1. #include<stdio.h>
  2.  
  3. int main(){
  4.  char fecha[128]= "25/05/2014";
  5.  int dia, mes ,anyo;
  6.  sscanf (fecha,"%d/%d/%d",&dia,&mes,&anyo);
  7.  printf (" dia = %d  mes = %d  anyo = %d\n", dia, mes, anyo );
  8.  return 0 ;
  9. }

¡¡¡¡ Saluditos! ..... !!!!


148  Programación / Programación C/C++ / Re: Programa para distinguir palindromos: en: 27 Junio 2014, 14:30 pm
Además de lo ya mencionado por eferion:

* Si declaras n y j como variables globales no tiene sentido que las vuellvas a declarar en la función bool. Mejor no las declaras como globales y sí en bool ya que sólo las usas en ésta.

* La función strcmp"" está pensada para comparar cadenas. En el caso de caracteres se pueden comparar directamente:

Código
  1. if( cadena[k] != cadena[j-1] )

* Tienes un error lógico. Si el último caracter de la cadena coincide con el primero n=1 y devuelve true, cuando a lo mejor en otros no son iguales.

* En realidad basta recorrer la mitad del array o cadena para saber si es o no palindromo.

* Los índices de los arrays empiezan en cero y tú los empiezas desde 1 (k=1), con lo que se quedara sin comparar el primer caracter.

Con las observaciones de eferion y las que te expongo, una posible solución sería:

Código
  1. #include <iostream>
  2. #include <cstring>
  3.  
  4. using namespace std;
  5.  
  6. bool palindromo ( char cadena[100] );
  7.  
  8. int main(){
  9.  char cadena[100];
  10.  cout << "Introduzca una palabra o cadena de ellas sin utilizar espacios y/o" << endl;
  11.  cout << " mayusculas, minusculas, acentos, etc. El programa le dira si la" << endl;
  12.  cout << " cadena introducida es un palindromo."<< endl;
  13.  cin >> cadena;
  14.  cin.get();
  15.  if ( palindromo ( cadena ) )
  16.    cout<< "Es un palindromo.";
  17.  else
  18.    cout<< " No es un palindromo.";
  19.  cin.get();
  20.  return 0;
  21. }
  22.  
  23. bool palindromo ( char cadena[100] ){
  24.  int k = 0, j = tam;
  25.  for ( k = 0; k < tam/2; k++, j-- )
  26.    if( cadena[k] != cadena[j-1] )
  27.      return false;
  28.  return true;
  29. }

¡¡¡¡ Saluditos! ..... !!!!


149  Programación / Programación C/C++ / Re: Programación en c [Problema de novato] en: 25 Junio 2014, 17:00 pm
Amén de lo que te indica eferion en esta línea:

Código
  1. else{ prinf("bienvenido");}

Le falta la "t" al printf.

Te falta la librería stdlib.h par el uso de "system". Fíjate en la parte inferior del programa en los mensajes que indica, ya que por esa ausencia lanza un warning.

Y ya puestos, no hace falta las llaves en los if, else si sólo tienen como cuerpo una línea, dicho a lo breve.

Y ya que empiezas hazlo con buenos hábitos como indentar el código con cierto criterio. Algo como:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main() {
  5.  int x = 0;
  6.  printf("Introduzca su edad:\n");
  7.  scanf( "%d", &x );
  8.  if ( x <= 17)
  9.    printf("no eres bienvenido!!\n");
  10.  else
  11.    printf("bienvenido\n");
  12.  system("pause");
  13.  return 0;
  14. }

¡¡¡¡ Saluditos! ..... !!!!




EDITO:

La línea:

Código
  1. else(x>17);

sería sin el punto y coma final y con un if:

Código
  1. else if (x>17)

Aunque en este caso lo del if estaría de más, ya que si no es <=17 sólo queda como opción ser >17.

Y para cuando cuelguesel código elige las etiquetas GeSHi y toma la C++ y en medio de las etiquetas Code que aparecen "pegas" tu código. Al no hacerlo de esta manera parte del código no sale correcta, especialmente las matrices.
150  Programación / Programación C/C++ / Re: Como hago para saber cual es limete de velocidad, si me dicen que multa sera en: 25 Junio 2014, 13:14 pm
Lo lógico es que la velocidad introducida sea a la que iba y, en función de que sea superior a la máxima permitida, se multará o no. Algo como:

Código
  1. cout << "Ingrese en kilometros a que velocidad iba: " << endl;
  2.  cin >> k;
  3.  if ( k > 100)
  4.    cout << "La multa a pagar es =" << placam ( pm,v, k) << endl;
  5.  else
  6.    cout << "Velocidad inferior a la maxima permitida." << endl;

¡¡¡¡ Saluditos! ..... !!!!


Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ... 132
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines