Autor
|
Tema: Que error tiene este codigo? (Leído 2,231 veces)
|
Mozzard
Desconectado
Mensajes: 31
cout << "Text here" << endl;
|
El objetivo de este programa es que de los 4 datos introducidos te devuelva el mas alto: #include <stdio.h> /* Add `int max_of_four(int a, int b, int c, int d)` here. */ //a=0 b=1 c=2 d=3 int max_of_four(int a, int b, int c, int d){ int array [4] = {a,b,c,d}; int i=0,k=0,j=1,g; //i=0 for (i;i<=4;i++){ if(array[k]>array[j]){ array[k]=g; k += 1; }else{ array[j]=g; j += 1; } } return g; } int main() { int a, b, c, d; scanf("%d %d %d %d", &a, &b, &c, &d);//input int ans = max_of_four(a, b, c, d); printf("%d", ans); return 0; }
|
|
« Última modificación: 30 Septiembre 2018, 21:56 pm por Mozzard »
|
En línea
|
Programalo... sin miedo...
|
|
|
Mozzard
Desconectado
Mensajes: 31
cout << "Text here" << endl;
|
Lo he modificado un poco aun asi no da el resultadoe esperado: #include <stdio.h> /* Add `int max_of_four(int a, int b, int c, int d)` here. */ //a=0 b=1 c=2 d=3 int max_of_four(int a, int b, int c, int d){ int array [4] = {a,b,c,d}; int i=array[0],n=0; //i=0 for (n;n<=4;n++){ if(i<array[n]){ i=array[n]; } } return i; } int main() { int a, b, c, d; scanf("%d %d %d %d", &a, &b, &c, &d);//input int ans = max_of_four(a, b, c, d); printf("%d", ans); return 0; }
|
|
« Última modificación: 30 Septiembre 2018, 21:33 pm por Mozzard »
|
En línea
|
Programalo... sin miedo...
|
|
|
CalgaryCorpus
|
Mis comentarios al código mostrado:
Usa etiquetas Geshi de C o C++ para que aparezcan números de línea. Es más fácil comentar así
Haz que el ciclo llegue hasta 3. Cómo está visitas más allá del fin del arreglo.
Usa nombres de variables que ayuden a entender el código. Que es o que guarda "I"?
"i" debería ser el índice, pero usaste "n" para ese efecto.
Al compilador no le va a costar mas si usas variables con mejores nombres.
si "i" parte con el primer valor, es superfluo que el índice empiece en 0, hazlo partir en 1.
|
|
|
En línea
|
|
|
|
Beginner Web
Desconectado
Mensajes: 634
youtu.be/0YhflLRE-DA
|
Es mucho codigo lo que pusiste se resolvia mas usando un arreglo y sabiendo el tamaño del arreglo, recorrer el arreglo con un for y sacar el mayor con un if dentro del for y al final de la funcion retornar el mayor de entrada max deberia valer lo que contiene la primera posicion del arreglo, y luego ir comparando elemento por elemento dentro del for con un Si arreglo >max a max le asigno arreglo, asi,
Tambien hay otra forma de hacerlo que es usando una variable bandera de tipo logica que hace esto para asignar el primer elemento a la variable max;
for(i=0;i<TAMARREGLO;i++){ if(bandera==true){ max=arreglo; bandera=false; } else{ if(arreglo>max){ max=arreglo; } }
Espero haberte ayudado
|
|
|
En línea
|
7w7
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Que errir tiene este codigo?
Java
|
Grey_Area
|
1
|
1,871
|
29 Noviembre 2011, 22:40 pm
por Leyer
|
|
|
Qué error tiene este sencillo código? (html - php)
« 1 2 »
Desarrollo Web
|
Danyel_Casvill
|
13
|
6,035
|
24 Junio 2014, 22:07 pm
por Graphixx
|
|
|
[AYUDA] ¿Qué tiene de malo este código?
Programación C/C++
|
Zodiak98
|
3
|
2,233
|
26 Septiembre 2016, 22:16 pm
por Zodiak98
|
|
|
no tiene sentido este simple código.
« 1 2 »
Programación C/C++
|
AprendiendoAProgramar
|
15
|
7,896
|
28 Enero 2017, 15:03 pm
por do-while
|
|
|
Que tiene mal este codigo?
Programación C/C++
|
Mozzard
|
2
|
1,962
|
22 Septiembre 2018, 15:47 pm
por Mozzard
|
|