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 - sora_ori

#131
Si lo hago de esa forma no me pide por pantalla el caracter para sustituir.


printf("Escribe una frase: "); //obtiene la cadena
fgets(cadena, sizeof(cadena), stdin);
printf("\nCaracter para cambiar: "); //obtener caracter a buscar para remplazar
sscanf(cadena, "%d",&cambiar);
printf("\nCaracter sustituto: "); //caracter sustituto
scanf("%c",&sustituir);


#132
Gracias, se me había colado un "=" de más.


Aunque lo del buffer no lo entiendo, lo he puesto así:


printf("Escribe una frase: "); //obtiene la cadena
fgets(cadena, sizeof(cadena), stdin);
sscanf(cadena, "%d",&cambiar);
printf("\nCaracter para cambiar: "); //obtener caracter a buscar para remplazar
scanf("%c",&cambiar);
printf("\nCaracter sustituto: "); //caracter sustituto
scanf("%c",&sustituir);
#133
Buenas,

Estoy haciendo un programa en C que dada una frase te pregunta para sustituir un carácter y luego te pide el carácter para reemplazarlo.


El programa me falla después de introducir el caracter a buscar:




#include <stdio.h>
#include <conio.h>
#include <string.h>

void main(){


char cadena[100];
char cambiar;
char sustituir;
int i;

printf("Escribe una frase: "); //obtiene la cadena
gets(cadena);
printf("\nCaracter para cambiar: "); //obtener caracter a buscar para remplazar
scanf("%c",&cambiar);
printf("\nCaracter sustituto: "); //caracter sustituto
scanf("%c",&sustituir);

for (i=0;i<=strlen(cadena)-1;i++){ //recorremos la cadena
   if (cadena[i]==cambiar){ //compara
      cadena[i]==sustituir; //cambia el valor si lo encuentra
      } //end if
      } //end for
     
   printf("\n");
   printf("%s",cadena); //muestra en pantalla la nueva cadena
   printf("\n");
   
 system("pause");
 return 0;
}
#134
Redes / Mayor alcance de mi router WiFi
6 Febrero 2013, 18:58 PM
Buenas,


Resulta que yo siempre he usado clave WPA2 para mi Red WiFi y me he dado cuenta que poniendo la Red abierta o con una clave WEP el alcance de mi WiFi es mayor.

¿A que es debido esto? He mirado las configuraciones pero no sé que modificar para incrementar el radio de alcance.


Un saludo
#135
Scripting / Help! Script robocopy en Batch
29 Enero 2013, 21:19 PM
Buenas,


Estoy haciendo un Script el cual hace copias de seguridad en un PC.

Me dan estas variables:

set Origen=\\%ip\%userprofile%\
set Destino=c:\backup



Las opciones deberían de ser también acomulativas por ejemplo que el usuario haga la opción 1 y la opción 4 y se guarde en una variable y que luego me muestre el resultado.


Menú:

1- Copiar subdirectorios, pero no los vacíos.
2- Copiar subdirectorios, incluidos los vacíos.
3- Mover archivos (eliminar en el origen después de copiarlos).
4- Copiar sólo los n niveles superiores del árbol de directorios de origen.
5- Copiar archivos en modo reiniciable.
6- Copiar archivos en modo de copia de seguridad.
7- Tamaño máximo de archivo, excluir archivos con más de n bytes.
8- Tamaño mánimo de archivo, excluir archivos con menos de n bytes


Solo he sabido hacer esto:

Código (dos) [Seleccionar]
@echo off
title Copias de Seguridad
cls
set dire=dir
:menu
echo ----------------------------------------------------------------------------
echo ----------------------------------------------------------------------------
echo -----------    Copia de Seguridad del ordenador de Gerencia      -----------
echo ----------------------------------------------------------------------------
echo ----------------------------------------------------------------------------
echo 1- Copiar subdirectorios, pero no los vacios.
echo 2- Copiar subdirectorios, incluidos los vacios.
echo 3- Mover archivos (eliminar en el origen despues de copiarlos).
echo 4- Copiar solo los n niveles superiores del arbol de directorios de origen.
echo 5- Copiar archivos en modo reiniciable.
echo 6- Copiar archivos en modo de copia de seguridad.
echo 7- Tamaño maximo de archivo, excluir archivos con mas de n bytes.
echo 8- Tamaño maximo de archivo, excluir archivos con menos de n bytes.
echo ----------------------------------------------------------------------------
echo ----------------------------------------------------------------------------

set /p opc=Escoge una opcion:
if /i %opc%==1 goto op1
if /i %opc%==1 goto op2
if /i %opc%==1 goto op3
if /i %opc%==1 goto op4
if /i %opc%==1 goto op5
if /i %opc%==1 goto op6
if /i %opc%==1 goto op7
if /i %opc%==1 goto op8



:op1
cls
set Origen=\\%ip\%userprofile%\ robocopy /s set Destino=c:\backup
pause
goto menu

:op2
cls
set Origen=\\%ip\%userprofile%\ robocopy /e set Destino=c:\backup
pause
goto menu

:op3
cls
set Origen=\\%ip\%userprofile%\ move set Destino=c:\backup
pause
goto menu

:op4
cls
set Origen=\\%ip\%userprofile%\ robocopy /lev:n set Destino=c:\backup
pause
goto menu

:op5
cls
set Origen=\\%ip\%userprofile%\ robocopy /z set Destino=c:\backup
pause
goto menu

:op6
cls
set Origen=\\%ip\%userprofile%\ robocopy /b set Destino=c:\backup
pause
goto menu

:op7
cls
set Origen=\\%ip\%userprofile%\ robocopy /max:n set Destino=c:\backup
pause
goto menu

:op8
cls
set Origen=\\%ip\%userprofile%\ robocopy /min:n set Destino=c:\backup
pause
goto menu
#136
Necesito llenar una tabla para alumnos matriculados pero no soy capaz de acabarlo. Sé que hay que usar dos contadores "i" y "j" e ir incrementando según sea filas y columnas.


Con una matriz de 6 filas y 8 columnas que contiene el numero de alumnos matriculados. Las filas corresponden a los grupos y las columnas a las asignaturas. Se pide: hacer un programa que llene la tabla de valores y nos diga el total de alumnos matriculados de cada asignatura.


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

int main() {
   
int f,c;
int i=0;
int j=0;
int mat[6][8];


// filas corresponden a los grupos
// columnas corresponde a las asignaturas


// matriz 1
    for (f=0;f<6;f++){
        for (c=0;c<8;c++){
        printf("Escribe el numero del alumno %d de la asignatura %d: ",f,c,i+1,j+1)
        scanf("%d",&mat[f][c]);
       
        }
}
     
               
       
    system("PAUSE");
    return 0;
}
#137
Se agradece compañero.


Un saludo!
#138
Buenas,

Estoy con el tema matrices y he llegado hacer una suma entre dos matrices, pero ahora me quedo estancando con el siguiente ejercicio de hacer una traspuesta y luego sumarla. A ver si alguien me puede echar una mano  :P


3. Un programa nos pide los elementos de una matriz 3x3 y nos escribe la matriz traspuesta y la suma de las dos matrices.



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

int main() {
   
int f,c,num;
int mat[3][3];
int result[3][3];
int traspuesta[3][3];

// matriz
   for (f=0;f<3;f++){
       for (c=0;c<3;c++){
       printf("Escribe un numero para la matriz: (%d %d)",f,c);
       scanf("%d",&mat);
       mat[f][c]=num;
       }
}

// traspuesta
   for (f=0;f<3;f++){
       for (c=0;c<3;c++){

       }
}



// resultado
   for (f=0;f<3;f++){
       for (c=0;c<3;c++){
       result[f][c]=mat[f][c]+traspuesta[f][c];
       }
}




// muestra la suma

   for (f=0;f<3;f++){
       printf("\n|");
       for (c=0;c<3;c++){
           
       printf(" %d ",result[f][c]);
       }
       printf("|");
       }
     
     
   
             
   system("PAUSE");
   return 0;
}

#139
Buenas,

En un examen sobre C tenía este ejercicio y no lo supe hacer correctamente, agradecería que me dieseis una solución para compararlo con el que yo hice.


Muchas gracias ;)




Escribe un programa que mostrará un menú con las siguientes opciones:

• Introducir datos: se llenará un vector de 7 elementos con números que se pedirán al usuario. Estos números deben ser múltiplos de 3 o de 4.

• Generar datos: se llenará el mismo vector, pero con números aleatorios entre 0 y 100. Deben ser múltiplos de 3 o de 4.

• Mover a la derecha: se pedirá un número al usuario entre 1 y 6. Los números del vector se moverán tantas posiciones a la derecha como haya indicado el usuario, los números que salen por la derecha del vector, aparecen por el otro lado. Se mostrará el vector antes y después de la operación.

Por ejemplo, si el vector era {9, 12, 21, 32, 36, 3, 4} y se mueve dos posiciones, quedando: {3, 4, 9, 12, 21, 32, 36}. (Ver figura 1 )
Sólo se podrá ejecutar si antes se han introducido datos.





• Visualizar vector: Se pedirá un número al usuario entre 1 y 7 y se mostrará el contenido del vector desde la posición inicial a la introducida por el usuario. Sólo se podrá ejecutar si antes se han introducido datos.

• Salir del programa: cerrará el programa.

• Punto Extra:
Intercambiar: se elegirán dos de los números del vector de forma aleatoria, y se intercambiarán de lugar. Se mostrará el vector antes y después de la operación. Por ejemplo, el vector {1,2,3,4,5,6,7} podría convertirse en {1,5,3,4,2,6,7}.





Mi código es este:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// Algorisme 1 de vectors examen

int main() {
    int opcio,i,num,pos;
    int vector[7];
    int vector2[7];
    int emplenat=0;
    opcio=0;
    while (opcio!=5){
    printf("1.Introduir numeros manualment\n");
    printf("2.Introduir automaticament\n");
    printf("3.Moure cap a la dreta\n");
    printf("4.Visualitza el vector\n");
    printf("5.Sortir\n");
    scanf("%i",&opcio);
    fflush(stdin);
    switch(opcio){
                  case 1:
                       i=0;
                       while (i<7){
                             printf("Donam un numero");
                             scanf("%i",&num);
                             if (num%3==0 || num%4==0){
                                           vector[i]=num;
                                           i++;
                                           }
                        }
                        emplenat=1;
                        break;
                  case 2:
                       i=0;
                       while (i<7){
                             num=rand()%101;
                             if (num%3==0 || num%4==0){
                                           vector[i]=num;
                                           i++;
                                           }
                             }
                       emplenat=1;
                       break;
                  case 3:
                       if (emplenat==1){
                                        printf("Quantes posicions vols");
                                        scanf("%i",&pos);
                                        for (i=0;i<7;i++){
                                            if((vector[i-pos])<0) vector2[i]=vector[i-pos+7];
                                            else vector2[i]=vector[i-pos];
                                            }
                                        printf("Abans de moure els elements\n");
                                        for (i=0;i<7;i++){
                                            printf("Posicio %i = %i\n",i,vector[i]);
                                            }
                                        printf("Despres de moure els elements\n");
                                        for (i=0;i<7;i++){
                                            printf("Posicio %i = %i\n",i,vector2[i]);
                                            }
                                        }
                       break;
                  case 4:
                       if (emplenat==1){
                                        printf("Fins a quina posicio\n");
                                        scanf("%i",&pos);
                                        for (i=0;i<pos;i++){
                                            printf("%i ",vector[i]);
                                        }
                                        printf("\n");
                                        }
                       break;
                  }
}
    system("pause");
    return 0;
}
#140
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