Forum www.autoirobo.fora.pl Strona Główna
RejestracjaSzukajFAQUżytkownicyGrupyGalerieZaloguj
Grupa L4 P4 zadanie
Idź do strony 1, 2  Następny
 
Odpowiedz do tematu    Forum www.autoirobo.fora.pl Strona Główna » 2010/2011 / Informatyka Zobacz poprzedni temat
Zobacz następny temat
Grupa L4 P4 zadanie
Autor Wiadomość
zurus




Dołączył: 20 Sty 2011
Posty: 5
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

Post Grupa L4 P4 zadanie
Na podstawie klasy Wektor zrealizować klasę do reprezentacji macierzy o wymiarze n x n
w postaci tablicy dwuwymiarowej (prywatne pole klasy). Klasa ma zawierać odpowiednie
konstruktory oraz:
a) metodę, która dla obiektu klasy Macierz wczytuje elementy tablicy n x n, dla n<=10 ;
b) metodę, która drukuje elementy tablicy n x n;
c) metodę, która mając dane dwa obiekty X i Y klasy Macierz oblicza elementy macierzy
Z=X+Y;
d) metodę, która mając dany obiekt X klasy Macierz wyznacza obiekt Z=2X;
e) metodę, która mając dane dwa obiekty X i Y klasy Macierz wyznacza obiekt Z=X*Y;
f) metodę, która mając dany obiekt X wyznacza sumę elementów macierzy tego obiektu;
g) program, który wczytuje wartość n oraz n x n elementów dla obiektów A i B klasy
Macierz, wyznacza obiekty C=A+B, D=2(A+B) oraz drukuje macierze i sumy elementów
macierzy dla obiektów C, D.


Post został pochwalony 0 razy
Pon 14:28, 28 Mar 2011 Zobacz profil autora
mateusz




Dołączył: 21 Paź 2010
Posty: 123
Przeczytał: 0 tematów

Pomógł: 1 raz
Ostrzeżeń: 0/5
Skąd: ZYGZAK

Post
zrobil juz to ktos? ;D


Post został pochwalony 0 razy
Wto 15:52, 29 Mar 2011 Zobacz profil autora
Walach




Dołączył: 10 Paź 2010
Posty: 57
Przeczytał: 0 tematów

Pomógł: 1 raz
Ostrzeżeń: 0/5
Skąd: Kolonowskie

Post
No nieźle z tym zadaniem pojechał. 1,5h klas, konstuktrów i takie cuda chce O_o. Jak kto zrobi chociaż 1 pkt. tego zadani niech wrzuca.


Post został pochwalony 0 razy
Wto 17:27, 29 Mar 2011 Zobacz profil autora
qbus0




Dołączył: 13 Paź 2010
Posty: 33
Przeczytał: 0 tematów

Pomógł: 1 raz
Ostrzeżeń: 0/5

Post
wykminił ktoś algorytm mnożenia tych dynamicznych macierzy? bo nie ogarniam.


Post został pochwalony 0 razy
Wto 19:40, 29 Mar 2011 Zobacz profil autora
Peter




Dołączył: 26 Sty 2011
Posty: 3
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

Post
macierze jak cuś
[link widoczny dla zalogowanych]

jest jedno ale, macierze musza/powinny byc tej samej wielkosci bo moze cos nie zadziałać x)


Post został pochwalony 0 razy

Ostatnio zmieniony przez Peter dnia Wto 23:30, 29 Mar 2011, w całości zmieniany 2 razy
Wto 23:26, 29 Mar 2011 Zobacz profil autora
mateusz




Dołączył: 21 Paź 2010
Posty: 123
Przeczytał: 0 tematów

Pomógł: 1 raz
Ostrzeżeń: 0/5
Skąd: ZYGZAK

Post
zrobil ktos ten program co byl ostatnio na laborkach? bo mam problem co trzeba napisac w klasie program zeby go wywolac
figura fi=new
figura( ); // i co tutaj ma byc w tym nawiasie?
fi.wyswietl();

pomoze ktos?


Post został pochwalony 0 razy
Sob 21:27, 02 Kwi 2011 Zobacz profil autora
patriot2




Dołączył: 21 Paź 2010
Posty: 49
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: ZYGZAK 132

Post
trociu jebaj barbi aż się zgarbi :d

w nawiasie wywołujesz z konkretnym parametrem


Post został pochwalony 0 razy
Nie 15:11, 03 Kwi 2011 Zobacz profil autora
mateusz




Dołączył: 21 Paź 2010
Posty: 123
Przeczytał: 0 tematów

Pomógł: 1 raz
Ostrzeżeń: 0/5
Skąd: ZYGZAK

Post
zrobil ktos juz ten program do liczenia macierzy?


Post został pochwalony 0 razy
Pon 14:27, 04 Kwi 2011 Zobacz profil autora
Walach




Dołączył: 10 Paź 2010
Posty: 57
Przeczytał: 0 tematów

Pomógł: 1 raz
Ostrzeżeń: 0/5
Skąd: Kolonowskie

Post
Oto suchu schemat mnożenia macierzy A X B gdzie:
1.macierze A i B są kwadratowe oraz mają równą ilość wierszy (oraz kolumn)
2. i- wiersze, k=kolumny x-to dł. kolumn (np. 4X4 to x=4)
3. oczywiście wcześniej należy zadeklarować zmienna suma,x,tab1,tab2.tab3.
4. macierz A to przy normalnym mnożeniu (na kartce algebra)to w lewym dolnym a, macierz B to prawo góra.
x|B
A|C C- to ta powstała po wymnożeniu

for (int i = 0; i < x; i++)
{
for (int j = 0; j < x; j++)
{
for (int t = 0; t < x; t++)
{
suma += tab1[i, t] * tab2[t, j];
}
tabs[i, j] = suma;
suma = 0;
}
}

-----------------------------------------------
to jest gotowy program do sprawdzenia czy te macierze poprawnie sie mnożą, jeżeli ktoś nie zrozumiał wczęsniejszego:D Powodzenia "bystrzaki" Razz

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace proba
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("podaj dł mac ");
int x = Convert.ToInt32(Console.ReadLine());
int[,] tab1=new int [x,x];
int[,] tab2=new int [x,x];
int[,] tabs=new int [x,x];
for (int i = 0; i < x; i++)
for (int j = 0; j < x; j++)
tab1[i,j] = Convert.ToInt32(Console.ReadLine());

for (int i = 0; i < x; i++)
for (int j = 0; j < x; j++)
tab2[i,j] = Convert.ToInt32(Console.ReadLine());

int suma=0;


for (int i = 0; i < x; i++)
{
for (int j = 0; j < x; j++)
{
for (int t = 0; t < x; t++)
{
suma += tab1[i, t] * tab2[t, j];
}
tabs[i, j] = suma;
suma = 0;
}
}
for (int i = 0; i < x; i++)
{
for (int j = 0; j < x; j++)
{
Console.Write(tabs[i, j]);
Console.Write(" ");
}
Console.WriteLine();
}
Console.ReadKey();


}
}
}


Post został pochwalony 0 razy

Ostatnio zmieniony przez Walach dnia Pon 17:15, 04 Kwi 2011, w całości zmieniany 1 raz
Pon 17:11, 04 Kwi 2011 Zobacz profil autora
patriot2




Dołączył: 21 Paź 2010
Posty: 49
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: ZYGZAK 132

Post
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Macierz a = new Macierz();
int[,] tab = new int[2, 2];
tab[0, 0] = 1;
tab[0, 1] = 2;
tab[1, 0] = 3;
tab[1, 1] = 4;
Macierz b = new Macierz(tab);
a.wyswietl();
b.wyswietl();
int ilea = a.ileElem();
int ileb = b.ileElem();
Macierz z = a.pomnoz(b);
z.wyswietl();
Macierz c = a.dodaj(b);
c.wyswietl();

Console.ReadKey();
to program do macierzy


a klasa
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Macierz
{
public int[,] mac;
public int n=2;
public Macierz()
{
mac = new int[n, n];

}

public Macierz(int[,] inna)
{
mac = new int[inna.GetLength(1), inna.GetLength(1)];
mac = (int[,])inna.Clone();
}

public void wypelnij(int[,] inna)
{
mac = (int[,])inna.Clone();
}

public void wyswietl()
{
for (int i = 0; i < mac.GetLength(1); i++)
{
Console.Write("\n");
for (int j = 0; j < mac.GetLength(1); j++)
{
Console.Write("{0} ", mac[i, j]);
}
}
}

public Macierz dodaj(Macierz inna)
{
Macierz temp = new Macierz();
for (int i = 0; i < mac.GetLength(1); i++)
for (int j = 0; j < mac.GetLength(1); j++)
temp.mac[i, j] = this.mac[i, j] + inna.mac[i, j];
return temp;
}

public Macierz x2()
{
Macierz temp = new Macierz();
for (int i = 0; i < mac.GetLength(1); i++)
for (int j = 0; j < mac.GetLength(1); j++)
temp.mac[i, j] = 2 * (this.mac[i, j]);
return temp;
}

public Macierz pomnoz(Macierz inna)
{
Macierz temp = new Macierz();
for (int i = 0; i < mac.GetLength(1); i++)
for (int j = 0; j < mac.GetLength(1); j++)
temp.mac[i, j] = this.mac[i, j] * inna.mac[i, j];
return temp;
}

public int ileElem()
{
Console.WriteLine(" Podana macierz dysponuje {0} elementami.", mac.GetLength(1)*mac.GetLength(1));
return mac.GetLength(1) * mac.GetLength(1);
}
}
}


Post został pochwalony 0 razy
Pon 17:59, 04 Kwi 2011 Zobacz profil autora
Walach




Dołączył: 10 Paź 2010
Posty: 57
Przeczytał: 0 tematów

Pomógł: 1 raz
Ostrzeżeń: 0/5
Skąd: Kolonowskie

Post
patriot5
to jest lekka przeróbka programu Piotrka P.
zamiast normalnych for-ów itd. dałeś funkcje clone oraz
dodałeś funkcje getLenght() w sumie tylko ona zastąpiła dł rzęd i kolumn.
Reszta to program Piotrka Razz te same funkcje "dodaj", "x2" "pomnóż"- która jest źle bo wyżej podałem algorytm na mnożenie 2 macierzy z dowolną liczbą kol. i wierszy z tym że musi byś kwadratowa.
Jutro postaram wrzucić to zad. ale zrobione metodą dziedziczenia jak na ćwiczeniach.
Pozdro Very Happy
Tomasz W.


Post został pochwalony 0 razy
Pon 20:52, 04 Kwi 2011 Zobacz profil autora
mateusz




Dołączył: 21 Paź 2010
Posty: 123
Przeczytał: 0 tematów

Pomógł: 1 raz
Ostrzeżeń: 0/5
Skąd: ZYGZAK

Post
tomek a dodawanie tych macierzy?


Post został pochwalony 0 razy
Pon 21:25, 04 Kwi 2011 Zobacz profil autora
Walach




Dołączył: 10 Paź 2010
Posty: 57
Przeczytał: 0 tematów

Pomógł: 1 raz
Ostrzeżeń: 0/5
Skąd: Kolonowskie

Post
dodawanie jest dobrze, normalnie jak dodajesz macierze (przy czym musi zachodzic warunek: kol1 = kol 2 i rzed1 = rzed2 czyli musza miec ten sam kształ) tutaj akurat są kwadratowe więc nie ma problemu.
przy dodawaniu macierzy nie ma żadnych skomplikowanych działań poprastu dodajesz.

M1[i,j]+M2[i,j]=M3[i,j]


Post został pochwalony 0 razy

Ostatnio zmieniony przez Walach dnia Pon 22:29, 04 Kwi 2011, w całości zmieniany 1 raz
Pon 22:26, 04 Kwi 2011 Zobacz profil autora
marcin21033




Dołączył: 14 Paź 2010
Posty: 82
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: Praszka

Post
chłopcy mozecie podac e-maila do prowadzacego zajecia co by wyslał mu ten program?


Post został pochwalony 0 razy
Wto 14:05, 05 Kwi 2011 Zobacz profil autora
mateusz




Dołączył: 21 Paź 2010
Posty: 123
Przeczytał: 0 tematów

Pomógł: 1 raz
Ostrzeżeń: 0/5
Skąd: ZYGZAK

Post
marcin wrzuc swoj program jak masz juz gotowy..


Post został pochwalony 0 razy
Wto 16:45, 05 Kwi 2011 Zobacz profil autora
Wyświetl posty z ostatnich:    
Odpowiedz do tematu    Forum www.autoirobo.fora.pl Strona Główna » 2010/2011 / Informatyka Wszystkie czasy w strefie EET (Europa)
Idź do strony 1, 2  Następny
Strona 1 z 2

 
Skocz do: 
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
Design by Freestyle XL / Music Lyrics.
Regulamin