Únete
a la comunidad
Inscríbete
Haz una pregunta Denunciar

Aprender C#

the machine gun_ 17Publicaciones viernes, 16 de mayo de 2008Fecha de inscripción - Última respuesta el 13 abr 2011, 00:47
Hola,
alguien que sepa programar con C# y que me pudiera decir que diferencias que tiene con C y con C++, ya cuento con visual studio 2008;
y que me pudiera pasar el famoso programa de "hello world" en C# y Netbeans IDE 6.1 (JDK) este ultimo segun es un compilador de java
gracias.
Seguir leyendo 
28 respuestas
Respuesta
+8
moins plus
hola ya he podido hacer algunos programas pero me aparecen estos errores:


matrices.cs(263,25): error CS0120: An objet reference is required for the
non-static field, method or property 'Matriz.suma()'
matrices.cs(125,17): (Location of symbol related to previous error)
matrices.cs(265,25): error CS0120: An objet reference is required for the
non-static field, method or property 'Matriz.multiplica()'
matrices.cs(158,17): (Location of symbol related to previous error)

estos errores nose a que se deban son de un programa que debe multiplicar, sumar y determinantes de una matriz de nxn con sobrecarga de operadores desde un menu. del siguiente programa que estoy haciendo(la parte de determinante esta en forma de comentario porque no se si se pueda hacer, lo estoy compilando desde el simbolo de sistema porque es la unica forma que se hacer pero bueno ahi lo pongo para que lo chequen):




using System;

class Matriz
{
private double[,] a;
private int r, c;
public Matriz(int nr, int nc)
{
a = new double[nr, nc];
r = nr;
c = nc;
}
public void leer()
{
for (int i = 0; i < r; i++)
{
for (int j = 0; j < c; j++)
{
Console.Write("\tA[" + i + "," + j + "]= ");
a[i, j] = leer_double();
}
}
}
public void imprimir()
{
string str;
double tmp;
for (int i = 0; i < r; i++)
{
for (int j = 0; j < c; j++)
{
tmp = a[i, j];
str = String.Format("\t{0:e}", tmp);
Console.Write(str);
Console.Write(a[i, j]);
}
Console.WriteLine();
}
}
public double leer_double()
{
double tmp = 0.0;
string str;
bool b;
do
{
b = true;
str = Console.ReadLine();
try
{
tmp = double.Parse(str);
}
catch (FormatException exc)
{
Console.WriteLine("\nError: " + exc.Message);
Console.Write("Escriba un número: ");
b = false;
}
} while (b == false);
return tmp;
}
public static int leer_int()
{
int tmp = 0;
string str;
bool b;
do
{
b = true;
str = Console.ReadLine();
try
{
tmp = int.Parse(str);
}
catch (FormatException exc)
{
Console.WriteLine("\nError: " + exc.Message);
Console.Write("Escriba un numero: ");
b = false;
}
} while (b == false);
return tmp;
}
public static Matriz operator +(Matriz O1, Matriz O2)
{
Matriz tmp = new Matriz(O1.r, O1.c);
for (int i = 0; i < O1.r; i++)
{
for (int j = 0; j < O1.c; j++)
{
tmp.a[i, j] = O1.a[i, j] + O2.a[i, j];
}
}
return tmp;
}
public static Matriz operator -(Matriz O1, Matriz O2)
{
Matriz tmp = new Matriz(O1.r, O1.c);
for (int i = 0; i < O1.r; i++)
{
for (int j = 0; j < O1.c; j++)
{
tmp.a[i, j] = O1.a[i, j] - O2.a[i, j];
}
}
return tmp;
}
public static Matriz operator *(Matriz O1, Matriz O2)
{
Matriz tmp = new Matriz(O1.r, O2.c);
for (int i = 0; i < O1.r; i++)
{
for (int j = 0; j < O1.c; j++)
{
tmp.a[i, j] = 0;
for (int k = 0; k < O2.c; k++)
{
tmp.a[i, j] = tmp.a[i, j] + O1.a[i, k] * O2.a[k, j];
}
}
}
return tmp;
}

public void suma()
{
int f, b, c, d;
do
{
Console.Write("\n¿Cuantos renglones tiene la primera matriz? ");
f = leer_int();
Console.Write("\n¿Cuantas columnas tiene la primera matriz? ");
b = leer_int();
Console.Write("\n¿Cuantos renglones tiene la segunda matriz? ");
c = leer_int();
Console.Write("\n¿Cuantas columnas tiene la segunda matriz? ");
d = leer_int();
if ((f != c) && (b != d))
{
Console.WriteLine("\nPara poder sumar las matrices las dimenciones deben ser iguales");
}
} while ((f != c) && (b != d));
Matriz A = new Matriz(f, b);
Matriz B = new Matriz(c, d);
Matriz C;
Console.WriteLine("\nIncerta los elementos de la matriz A son:");
A.leer();
Console.WriteLine("\nIncerta los elementos de la matriz B son:");
B.leer();
Console.WriteLine("\nlos elementos de la matriz A son:");
A.imprimir();
Console.WriteLine("\nlos elementos de la matriz B son:");
B.imprimir();
Console.WriteLine("\nA+B= ");
C = A + B;
C.imprimir();
}
public void multiplica()
{
int f, b, c, d;
do
{
Console.WriteLine("\n¿Cuantos renglones tiene la primera matriz? ");
f = leer_int();
Console.WriteLine("\n¿Cuantas columnas tiene la primera matriz? ");
b = leer_int();
Console.WriteLine("\n¿Cuantos renglones tiene la segunda matriz? ");
c = leer_int();
Console.WriteLine("\n¿Cuantas columnas tiene la segunda matriz? ");
d = leer_int();
if ((f != c) && (b != d))
{
Console.WriteLine("\nError: Para poder multiplicar las columnas de la primera");
Console.WriteLine("\tmatriz debe ser igual a los renglones de la segunda matriz");
}
} while ((f != c) && (b != d));
Matriz A = new Matriz(f, b);
Matriz B = new Matriz(c, d);
Matriz C;
Console.WriteLine("\nIncerta los elementos de la matriz A son:");
A.leer();
Console.WriteLine("\nIncerta los elementos de la matriz B son:");
B.leer();
Console.WriteLine("\nlos elementos de la matriz A son:");
A.imprimir();
Console.WriteLine("\nlos elementos de la matriz B son:");
B.imprimir();
Console.WriteLine("\nA*B= ");
C = A * B;
C.imprimir();
}
/*
public void determinante()
{
int f, b;
do
{
Console.Write("\n¿Cuantos renglones tiene la matriz? ");
f = leer_int();
Console.Write("\n¿Cuantas columnas tiene la matriz? ");
b = leer_int();
if (f != b)
{
Console.WriteLine("\nError: Para poder obtener el determinante");
Console.WriteLine("\tla matriz debe ser cuadrada");
}
} while (f != b);
Matriz A = new Matriz(f, b);
Console.WriteLine("\nIncerta los elementos de la matriz son:");
A.leer();
Console.WriteLine("\nlos elementos de la matriz son:");
A.imprimir();
float det = 1;
if (f == 2)
{
det = (A[0, 0] * A[1, 1]) - (A[0, 1] * A[1, 0]);
}
if (f == 3)
{
det += A[0, 0] * (A[1, 1] * A[2, 2] - A[1, 2] * A[2, 1]);
det += -A[0, 1] * (A[1, 0] * A[2, 2] - A[1, 2] * A[2, 0]);
det += A[0, 2] * (A[1, 0] * A[2, 1] - A[1, 1] * A[2, 0]);
det -= 1;
}
if (f == 4)
{
det += A[0, 0] * (A[1, 1] * (A[2, 2] * A[3, 3] - A[2, 3] * A[3, 2]) - A[1, 2] * (A[2, 1] * A[3, 3] - A[2, 3] * A[3, 1]) + A[1, 3] * (A[2, 1] * A[3, 2] - A[2, 2] * A[3, 1]));
det += -A[0, 1] * (A[1, 0] * (A[2, 2] * A[3, 3] - A[2, 3] * A[3, 2]) - A[1, 2] * (A[2, 0] * A[3, 3] - A[2, 3] * A[3, 0]) + A[1, 3] * (A[2, 0] * A[3, 2] - A[2, 2] * A[3, 0]));
det += A[0, 2] * (A[1, 0] * (A[2, 1] * A[3, 3] - A[2, 3] * A[3, 1]) - A[1, 1] * (A[2, 0] * A[3, 3] - A[2, 3] * A[3, 0]) + A[1, 3] * (A[2, 0] * A[3, 1] - A[2, 1] * A[3, 0]));
det += -A[0, 3] * (A[1, 0] * (A[2, 1] * A[3, 2] - A[2, 2] * A[3, 1]) - A[1, 1] * (A[2, 0] * A[3, 2] - A[2, 2] * A[3, 0]) + A[1, 2] * (A[2, 0] * A[3, 1] - A[2, 1] * A[3, 0]));
det -= 1;
}
Console.WriteLine("\nEl determinate es:");
string str = String.Format("\t{0:e}", det);
Console.Write(str);
}
*/
public static int menu()
{
int n;
Console.WriteLine("\nOperaciones de matrices");
do
{
Console.WriteLine("\t(1)Suma");
Console.WriteLine("\t(2)Multiplicacion");
Console.WriteLine("\t(3)Determinante");
Console.WriteLine("\t(4)Salir");
n = leer_int();
} while (n < 1 || n > 4);
return n;
}
}
class Test_Matriz
{

public static void Main()
{
for (; ; )
{
int op = Matriz.menu();
switch (op)
{
case 1: Matriz.suma();
break;
case 2: Matriz.multiplica();
break;
case 3:// Matriz.determinante();
break;
}
if (op == 4)
break;
}
}
}








en si la pregunta seria: ¿como le hago para que no salgan esos errores?

bueno espero que me puedan ayudar; el compilador que tengo es visual studio 2008 expres edition
y es con c#
de antemano gracias


kennsou88 - 16 dic 2009, 04:48
te salen esos errores por que estas declarando las funciones pero no las tienes en el espacio de trabajo, crea la funcion

matriz.multiplica();
y
matriz.suma();

y en ellas las respectivas operaciones
Carlos Ota - 27 abr 2010, 15:27
Hola. Buen día.
Soy nuevo programando, (diria MUY nuevo) y por exigencia academica necesito aprender tooodooo lo relacionado con matrices... pero solo se nos pide trabajar con C# ... Me podrias Ayudar???
mi correo: otahola@hotmail.com
Añadir comentario
Respuesta
+1
moins plus
Hola

Necesitas tutoriales o software?
the machine gun_ 17Publicaciones viernes, 16 de mayo de 2008Fecha de inscripción - 20 ago 2008, 01:29
Hola,
ya consegui un software visual c# 2008 expres, la verdad no se si sea bueno, quisiera un tutorial, y haber si sabes que diferencias hay de c++ con c#
gracias.
Nnet 2555Publicaciones viernes, 4 de abril de 2008Fecha de inscripción ContribuidorEstatus miércoles, 1 de diciembre de 2010Último discurso - 20 ago 2008, 15:42
Aca te mando un link con un tutorial

http://stiuvert.blogspot.com/2008/03/visual-c-2008-express.html
tintin - 7 jun 2010, 13:03
Hola quisiera que me ayuden como aprender desde cero c # por favor mi coreo es tintin890@hotmail.com
Añadir comentario
Respuesta
+1
moins plus
en esta web puedes encontrar muchos ejempos, yo no programo en c sharp, pero he visto muchs códigos y programas en este sitio. Esta es la dirección

http://www.elguille.info/NET/cursoCSharpErik/index.htm
Añadir comentario
Respuesta
+0
moins plus
Visita esta web: www.pedrov.phpnet.us. Es una excelente página sobre programación con C#.
Añadir comentario
Respuesta
+0
moins plus
buenas noches, si gustas pasame un correo o donde enviarte unos ebook sobre C#, de igual manera tengo la instalacion de netbeans 6.1 solo como comentario debes de tener una buena maquina con un buen preocesador y memoria para que trabaje de una manera practicamente funcional, ya que la maquina virtual de java hace que se alenten los procesos...
the machine gun_ 17Publicaciones viernes, 16 de mayo de 2008Fecha de inscripción - 13 mar 2009, 18:40
ok muchas gracias mi correo es valeriano_87@hotmail.com y si tengo una buena maquina
gracias
Añadir comentario
Respuesta
+0
moins plus
ok.

class Program
{
static void Main(string[] args)
{//haber si con esto te puedo ayudar, similar al k dices del hola mundo.....copia y pega en visual c# ejecutas y listo
string nombre;
Console.WriteLine("dame tu nombre\n");
nombre = Console.ReadLine();
Console.WriteLine("\t\t\thola:{0}", nombre);

}
José - 8 abr 2009, 04:03
Este sitio te permite comprender con detalle los fundamentos de programación con C#: www.pedrov.phpnet.us
Carlos Ota - 27 abr 2010, 15:25
Hola. Buen día.
Soy nuevo programando, (diria MUY nuevo) y por exigencia academica necesito aprender tooodooo lo relacionado con matrices... pero solo se nos pide trabajar con C# ... Me podrias Ayudar???
Añadir comentario
Respuesta
+0
moins plus
Buenas, si me puede ayudar en una ConsoleApplication en C3 que contenga varios arreglo que almacene los estudiantes, otro que almacene las notas de los estudiantes con el ID del estudiante o un solo arreglo que almacene los estudiantes junto con las notas.

Segundo, para la opcion de registro de notas debe haber un metodo que espere las tres notas de un estudiante X y las inserte en el arreglo.

y por ultimo debe haber un metodo que espere un id de estudiante para imprimir sus notas con el promedio
Añadir comentario
Respuesta
+0
moins plus
Y ke mas kerí.... soi terrible de patúo y mas encima hediondo de flojo
Añadir comentario
Respuesta
+0
moins plus
Aprender C#
the machine gun_ 17Puestos viernes, 16 de mayo de 2008Fecha de inscripción - 18 ago 2008, 04:57 - Última respuesta el 7 jun 2010, 21:33 JUAJUAXD
Hola,
alguien que sepa programar con C# y que me pudiera decir que diferencias que tiene con C y con C++, ya cuento con visual studio 2008;
y que me pudiera pasar el famoso programa de "hello world" en C# y Netbeans IDE 6.1 (JDK) este ultimo segun es un compilador de java


gracias.
========================================================
========================================================
Hello
this is the program of "Hello word" in the C#. XD
ok, u have a very good day.
bye bye
========================================================
========================================================

using System;
namespace hello
{
class MainClass
{
public static void Main (string[] args)
{
Console.Write ("\n Hello Word!");
Console.Read();
}
}
}

========================================================
Añadir comentario
Respuesta
+0
moins plus
Te sugiero este libro: www.pedrov.info
Añadir comentario
Respuesta
+0
moins plus
Con la practica, pensamiento logico, ganas de aprender y ser autodidacta y tal vez lo domines, jajajaj cosa que totalmente no se puede "dominar"

animos, es facinante....
Añadir comentario
Respuesta
+0
moins plus
Hello world!! en C#

using system;

public class hola{
public static void Main(){
Console.WriteLine("Hola mundo");
}
}
Añadir comentario
Respuesta
-1
moins plus
me gustaria que me explicara como puedo aprender el juebes voya una prueba de c# y no entiendo mucho.. el console.write line hell mee pleasee dazed.music@hotmail.es respondame porfa graciassss
less - 2 sep 2010, 22:52
pues el consele.write........
depende para que lo quieras utilizar, pero el consele.write line es para tecnicamente "leer una linea" ya que solo esta escrita, pero no esta visualizada
giko 12Publicaciones miércoles, 9 de febrero de 2011Fecha de inscripción jueves, 10 de febrero de 2011Último discurso - 9 feb 2011, 16:11
System.Console.WriteLine("Hola mundo"); Es utilizado para mostrar texto en pantalla desde la consola.
Añadir comentario
Respuesta
-1
moins plus
HOLAAAAAA PUCHAAA HEY ALGUIE QUE ME PEUDA EXPLICAR COMO DOMINAR EL LEUNGUAJE C# PORFAVORRRRRRRR
giko 12Publicaciones miércoles, 9 de febrero de 2011Fecha de inscripción jueves, 10 de febrero de 2011Último discurso - 9 feb 2011, 16:14
Hola aca puedes encontrar un pdf de introducción a C# que es muy buena, espero te sirva.

http://www.nachocabanes.com/csharp/index.php
Shagui - 13 abr 2011, 00:47
metodo Main(...)
{
console.writeline("Hola Mundo!!!");
console.readkey();
}
Añadir comentario
Este documento intitulado « aprender C# » de Kioskea (es.kioskea.net) esta puesto a diposición bajo la licencia Creative Commons. Puede copiar, modificar bajo las condiciones puestas por la licencia, siempre que esta nota sea visible.

¿No eres todavia usuario?

inscríbete, gratuitamente y en menos de un minuto!

Los miembros obtienen más respuestas que los usuarios anónimos.

Ser miembro te permite llevar un seguimiento detallado de tus consultas.

Ser miembro te permite gozar de otras opciones adicionales.

Recibe nuestro newsletter

salud.kioskea.net