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

#31
Programación C/C++ / transponer matriz c++
23 Febrero 2013, 13:12 PM
Hola,
necesitaría ayuda en como transponer una matriz, donde yo doy los elementos.
Creo que faltaría otra función para escribir los elementos de la matriz.

#include<iostream>
#include <cstdlib>
#include<vector>
#include<algorithm>
using namespace std;

typedef vector<int>matriz;
vector<matriz>M(int m,matriz(int n));



void muestra(matriz M, int n, int m){
     for(int i=0;i<m;i++){cout<<"[";
          for(int j=0;j<n;j++){cout<<M[i][j]<<endl;
                 
                  }
                  cout<<"]"<<endl;
           }
     }
     
void transpon(matriz M){
     for(int i=0;i<matriz.size()-1;i++){
             for(int j=i+1;j<matriz.size();j++){
                     int aux=M[i][j];
                     M[i][j]=M[j][i];
                     M[j][i]=aux;
                     }
             }
     }
     
int main(){int M,m,n;
    cout<<"introduzca el numero de filas"<<endl;
    cin>>m;
    cout<<"introduzca el numero de columnas"<<endl;
    cin>>n;
   
    muestra(M,n,m);
    transpon(M);
   
    system("pause");
    return 0;}



¡Gracias por la ayuda! :)
#32
si, me refería a ese concepto de correlación, pero eso es para ejemplificar mejor a que se aplica la función.

¡un saludo!
#33
El enunciado es:

Hacer la función cor_menos_uno(vector<double>x,vector<double>y);

Sabemos que la correlación entre x e y no es demasiado fuerte, y sabemos que en nuestras observaciones contenidas en
los vectores x,y hay una observación atípica. La función que debemos crear detectará cúal es la observación.
correlacion(x-x[i], y-y[i])∀ x∈{0,N-1},donde x-x[i] e y-y[i] son los vectores x e y sin la observación x[i],y[i]. De todas estas, queremos la más grande, es decir queremos saber cúal es la observación i tal que  correlacion(x-x[i], y-y[i])
sea la máxima. La función devuelve el subíndice i. double correlacion (vector <double>& x, vector <double>& y);

¡Gracias por el aporte! :)
#34
Hola,
Como harías el siguiente programa,
supongamos que tenemos dos vectores x, e y. Y queremos encontrar la observación con diferencia mayor.

Es decir, encontrar el valor (x,y) que hace máxima la diferencia.
(x-x[i], y-y[i]), este valor es una coordenada que tiene la misma posición para x e y.

int valor(vector<int>&x, vector<int>&y, int N)

for(int i=0;i<N;i++){
for(int j=i-1;j>=0;j++){

if(x-x[i])>(x-x[j]){return i;}}}

#35
¡¡fantásticas explicaciones!!, muchas gracias por toda la ayuda :D

¡un saludo!
#36
Hola,

como harías una función que devuelva los números no repetidos,

v= 1 , 2 , 3 , 3 , 7 , 8 , 7 devuelva 1 , 2 , 3 , 7 , 8

#include<iostream>
#include<vector>
#include<cstdlib>
using namespace std;



vector <int> vector_unico (vector <int>& v){
int i=0;
int j=v.size()-1;
int s=0;
while(i<j){
           if(v[i++]!=v[j--]){s=s+v[i];}
           
           }return s;}

int main(){
    int n,i,e;
    cout<<" muestre el tamaño ";
    cin>>n;
    vector<int>v(n);
    for(i=0;i<n;i++){
                     cout<<" el elemento "<<i<<" ... ";
                     cin>>e;
                     v[i]=e;}
    cout<<vector_unico(v)<<endl;
   
system ("pause");
return 0;}


Lo que intento es recorrer todo el vector con dos contadores y que acumule los valores que están repetidos más de una vez.
#37
¡¡muy buenas explicaciones!! muchas gracias por todas las respuestas y comentarios. :D
#38
aa claro toda la razon jeje.

Te debo un bucle infinito de gracias ;)
#39
El siguiente programa me muestra la posición que ocupa el primer valor del vector que es divisible por un entero dado, ¿qué debería modificar para que no me mostrara solamente la primera posición sino todas?

#include<iostream>
#include<vector>
using namespace std;


bool divisor(vector<int>v,int m){
int i;
    bool encontrado=false;
    while(i<v.size() and not encontrado){
    if(v[i]%m==0){encontrado=true;}
    else{i++;}}
    return i;}
   
   
int main (){
   
    int n,i=0,e,m;
    cout<<endl<<"Entre el divisor...";
    cin>>m;
    cout << endl << "Entre el número de elementos del vector...";
    cin >> n;
    vector<int> v(n);
    for(i=0;i<n;i++){
                     cout << "Entre el elemento " << i << " del vector...";
                     cin >> e;
                     v[i] = e;}
    cout << endl;
   
    cout<<divisor(v,m)<<endl;
    cout<<endl;
    system("pause");
    return 0;}


¡¡Gracias!!
#40
muchas gracias por aclararme el fallo  :D

y si ahora quisiera que el programa me mostrará cierto si el valor a comparar es igual a todos los elementos del vector y falso si es distinto ¿qué matiz haría falta modificar?

un saludo