Autor
|
Tema: Amigos ayuda urgente (Leído 2,782 veces)
|
wapch80
Desconectado
Mensajes: 5
|
resulta que un profesor de mi universidad me pregunto que segun este programa , que era lo que hacia:
#include <stdio.h> void main() { int matriz[5][3], i, j; for (i = 0; i < 5; i++){ for (j = 0; j < 3; j++){ matriz[j] = i + j; } } j = 0; for (i = 0; i < 3; i++){ printf("%i\n, matriz[i + j][2 – i]"); } return 0; }
Por mas que intento correrlo en Geany de Ubunto (el programa), lo intento compilar y me dice que ay una serie de errores:
Compu III.cpp:2:11: error: ‘::main’ must return ‘int’ Compu III.cpp: In function ‘int main()’: Compu III.cpp:12:38: warning: too few arguments for format
Pues debo confesar que no tengo ninguna base en C++, algo muy muy lejano, podrian ayudarme a ver como debo correrlo en el compilador para por lo menos ver que es lo que hace dicho programa y dar mi respuesta?.... les estare muy agradecido por eso..
|
|
|
En línea
|
|
|
|
Flakito81
Desconectado
Mensajes: 519
|
Hay varios errores:
1- el prototipo de la funcion debe de ser int main(), fácilmente deducible si estas retornando un cero. 2- En el bucle anidado hay un error xq estas usando la variable matriz como si fuera unidimensional, pero lo has declarado bidimensional. No tiene sentido 3- En el último for hay varios errores: 3.1- No tiene sentido hacer i +j si j = 0 y nunca cambia, dicho de otra manera con poner i tienes. 3.2- El printf está mal escrito. lo correcto es printf ("%d\n", matriz[2-i]); [fijate en las comillas]
Lo que hace la ultima parte es recorrer la diagonal principal de la submatriz de 3x3, pero comenzando desde el elemento inferior, es decir: [0-2] [1-1] [2-0]
NOTA: el error 2 lo puedes corregir poniendo: matriz[j]= i+j;
Suerte!!
|
|
|
En línea
|
|
|
|
wapch80
Desconectado
Mensajes: 5
|
Oye genial, pero creo que hay otros errorcitos... ya que te muestro lo que el profesor me envio:
#include <stdio.h> void main() { int matriz[5][3], i, j; for (i = 0; i < 5; i++) for (j = 0; j < 3; j++) matriz[j] = i + j; j = 0; for (i = 0; i < 3; i++) printf(“%i\n”, matriz[i + j][2 – i]); }
eso fue exactamente lo que el me envio. Como puedes observar el return 0 se lo agregue yo por que pense que podria ser asi, pero a su vez cambie el prototipo por Int, ya que no sabia que return agregar si el prototipo era void. Espero que puedas ver el detalle ya que = ando medio perdido, pense que lo que hacia era una suma de matrices pero ya veo que no... muchisimas gracias por tomarte tu tiempo
|
|
|
En línea
|
|
|
|
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
Desconectado
Mensajes: 3.069
/^$/
|
Lo que te mandó tu profesor está mal. Es int main(void), , no void main(), y si agregas el return estando void claro que dará error, estás tratando de devolver algo cuando no puedes.
Dile a tu profesor que agarre un buen libro y se ponga a leer.
|
|
|
En línea
|
|
|
|
wapch80
Desconectado
Mensajes: 5
|
Pero como podrías tu darle el sentido a esa cosa llamado programa que me envió el Piraton del profesor... que querría haber querido decir con ese programa... sumaba, restaba matrices, colocaba en 1 la diagonal????
|
|
|
En línea
|
|
|
|
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
Desconectado
Mensajes: 3.069
/^$/
|
Simplemente operaciones con matrices, tampoco se puede hacer: matriz[j] = XXXXX; Ya que es un array de arrays, o matriz bidimensional, no tiene sentido hacer eso. Quizá quiso decir:
|
|
« Última modificación: 30 Julio 2011, 05:05 am por Leo Gutiérrez. »
|
En línea
|
|
|
|
wapch80
Desconectado
Mensajes: 5
|
ok Gracias por responder amigo... algún dia aprendo caray... por lo menos para mi que soy nuevo en esto del C++
|
|
|
En línea
|
|
|
|
Karman
|
habría que ver si el "profesor" le dio las cosas como las posteó antes de echarle la culpa...
S2
|
|
|
En línea
|
|
|
|
Triper0
Desconectado
Mensajes: 38
|
Se ve que el profesor no tiene ni idea o es muy despistado o hizo un copy peaste sin mirar, pero es un campo minado de errores, y errores pavos jaja...
Pero bueno, siempre en alguna que otra práctica o teoría se filtran estos tipos de programas que cuando los tratás de compilar no funcionan ni para atrás... Dudo que haya muchos profesores que se tomen la delicadeza de compilar y revisar cada código que ponen en las teorías/prácticas para estar seguros que no están haciendo cualquiera... Y después los alumnos lo padecemos jaja
Saludos...
|
|
|
En línea
|
|
|
|
|
|