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

#1
Programación C/C++ / Re: Ayuda con arrays
18 Noviembre 2012, 19:58 PM
Muchisimas gracias de nuevo. Si, la verdad es que estoy teniendo bastantes problemas con los arrays pero con vuestra ayuda lo voy cogiendo. Un saludo
#2
Programación C/C++ / Re: Ayuda con arrays
18 Noviembre 2012, 13:49 PM
Hola de nuevo. Perdon por mi insitencia pero es que esto de desplazar vectores me esta costando bastante.

Ahora estoy haciendo un programa que me pide Pedir al usuario una serie de números y almacenarla en un array de tamaño N y una vez se dispone del array con como mucho N números, se pide intercambiar el menor de ellos con el que está en la primera posición.

por ejemplo, DAME HASTA 10 NUMEROS:
45 67 13 29 3 28 32 51

El array, una vez realizado el intercambio, queda así:
3 67 13 29 45 28 32 51

he hecho una parte del programa, en esta parte el programa me haya el numero menor. Pero mi problema viene a la hora de intercambiar el numero menor con el primer numero de la serie. Lo he intentado con un auxiliar para intercambiar los valores pero no me sale.

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


int main()
{ int numeros [10],i,x,c,aux;
int mayor,menor;
for(i=0;i<10;i++)
{printf("Dame el elemento de la posicion:");
scanf("%d",&numeros[i]);

}
mayor=numeros[0];
for(x=0;x<10;x++)
{
if (numeros[x]>mayor)
mayor=numeros[x];
}

menor=numeros[0];
for(c=0;c<10;c++)
{
if (numeros[c]<menor)
menor=numeros[c];
}
printf("\nEl mayor es %d",mayor);
printf("\nEl menor es %d",menor);



system("PAUSE");
}


Gracias de antemano, y perdon por ser tan pesado pero es que no termino de pillar lo del desplazamiento.
#3
Programación C/C++ / Ayuda con vectores
17 Noviembre 2012, 21:11 PM
Hola, estoy haciendo un programa que me pide calcular la cantidad maxima de elementos iguales  y consecutivos que hay, así como las posiciones de comienzo y final en las que se encuentran.

por ejemplo:
posicion 0: 15
posicion 1:23
posicion 2:23
posicion 3:5
posicion4:7
posicion 5:4
posicion 6:4
posicion 7:4
posicion 8:23
posicion 9:23

y en la salida tendria que salir:
El mayor número de elementos consecutivos iguales que aparece es 3 y se encuentran entre las posiciones 5 y 7.

Estoy un poco estancado, lo que he hecho hasta ahora es averiguar cual es el numero que mas repite y cuentas veces se repite, pero no se me ocurre nada para saber lo de consecutivos.

.#include<iostream>
using namespace std;

int main()
{
    int vector[10], contRepetido[10] = {0}, i, j, mayor, indice;
    cout<<"ingrese 10 numeros al azar : "<<endl;
    for (i = 0; i < 10; i++)
    {
         cin>>vector[i];
         for(j = 0; j < i; j++)
         {
              if(vector[j] == vector[i])
                   contRepetido[i]++;
         }
    }
    mayor = contRepetido[0];
    for(int i = 1; i < 10; i++)
         if(contRepetido[i] > mayor)
         {
              mayor = contRepetido[i];
              indice = i;
         }
    cout<<"El # que mas se repite es: "<<vector[indice]<<endl;
    cout<<"Las veces que se repite son :"<<contRepetido[indice] + 1<<endl;
    system("pause");
   
}

Gracias de antemano
#4
Programación C/C++ / Re: Ayuda con arrays
16 Noviembre 2012, 21:06 PM
Muchisimas gracias.
#5
Programación C/C++ / Re: Ayuda con arrays
15 Noviembre 2012, 21:00 PM
Cita de: leosansan en 15 Noviembre 2012, 20:46 PM
Si de lo que se trata es de "hacerlo" y no tan solo "simularlo":
Código (cpp) [Seleccionar]
#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!.

Muchas gracias.Me sale bien el programa  Aunque sigo sin entender este ciclo.
for (i=N-2;i>=0;i--)
        t[i+1]=t[i];
    t[0]=aux2;


me podrias indicar que hace.Muchas gracias de antemano y perdon por las molestias
#6
Programación C/C++ / Ayuda con arrays
15 Noviembre 2012, 09:40 AM
Hola, era para ver si me podeis ayudar a completar este programa.

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

ese le tengo hecho
#include <stdio.h>
#include <stdlib.h>
int main()
{
int t[10],ind,lon,num,aux;

ind=0;
do{
printf ("Introduce un número");
scanf("%d",&num);
t[ind]=num;
ind=ind+1;
}while(ind<10);

/* Al salir del anterior bucle ind está apuntando al 10, es decir,
el número de elementos que tiene el array. Guardamos el primer elemento
sobre aux antes de empezar a desplazar el resto a la izqda. */

lon=ind;
aux=t[0];
printf ("aux %d\n",aux);

/* el indice a 1, cuando desplazamos hacia la izda, empezamos
tomando una posición y asignándoselo a la que está a su izquierda, por eso
empezamos en la segunda posición para asignárselo a la primera*/
ind=1;

/*Bucle para realizar el desplazamiento,  empezamos en ind=1 y acabamos en
ind=long-1*/

while(ind <lon){
t[ind-1]=t[ind];
ind=ind+1;
}

/* En la última posición guardamos lo que había antes en la primera */
t[lon-1]=aux;

/*indice a 0 para implementar el bucle para recorrer e
imprimir la tabla*/

ind=0;
while(ind <lon){
printf("%d\n",t[ind]);
ind=ind+1;
}
system("PAUSE");
}


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

Gracias de antemano, un saludo
#7
Programación C/C++ / Re: ayuda con vectores c++
15 Noviembre 2012, 09:23 AM
#include <stdio.h>
#include <stdlib.h>
int main()
{
int t[10],ind,lon,num,aux;
ind=0;
do{
printf ("Introduce un número");
scanf("%d",&num);
t[ind]=num;
ind=ind+1;
}while(ind<10);
/* Al salir del anterior bucle ind está apuntando al 10, es decir,
el número de elementos que tiene el array.  */

system("PAUSE");
}
#8
Hola, muy buenas. El código para hallar Logaritmo(base n) de un numero m es el siguiente. Ahora me piden un código para hallar lo mismo pero sin usar la librería math.h

#include <stdio.h>
#include <math.h>

float logaritmo(double argumento, double base){
return log10(argumento)/log10(base);
}

int main() {
double n, base, resultado;
printf ("Ingrese número: ");
scanf("%lf", &n);
printf ("Ingrese base: ");
scanf("%lf", &base);
resultado = logaritmo (n, base);
printf ("Resultado: %f", resultado);
return 0;
}


Gracias de antemano
#9
Programación C/C++ / Re: Ayuda con un programa
3 Noviembre 2012, 16:57 PM
LLevo poco tiempo en lo de la programación. La cuestion es que el programa no dice dame un numero y a partir de eso numero te da el primer centrico. sino que

imprime por pantalla:(lo que viene en negrita es lo que tienes que introducir, solo tienes que introducir s,n u otra letra( si imprime otra letra le dira que el dato no es adecuado)


El primer numero medio es: 6
Quieres el siguiente numero medio?(s/n): q
El dato introducido no es adecuado.
Quieres el siguiente numero medio?(s/n): s
El siguiente numero medio es: 35
Quieres el siguiente numero medio?(s/n): s
El siguiente numero medio es: 204
Quieres el siguiente numero medio?(s/n): n
Pulsa una tecla para terminar.
#10
Programación C/C++ / Re: Ayuda con un programa
3 Noviembre 2012, 15:12 PM
Pff no consigo hacerlo. Con el codigo que me has puesto pense que iba a salir.Sin embargo el programa tiene que salir por partalla de la siguiente forma:

El primer numero medio es: 6
Quieres el siguiente numero medio?(s/n): q
El dato introducido no es adecuado.
Quieres el siguiente numero medio?(s/n): s
El siguiente numero medio es: 35
Quieres el siguiente numero medio?(s/n): n
Pulsa una tecla para terminar.