program na macierzach

anka0501
Użytkownik
Użytkownik
Posty: 21
Rejestracja: 22 sty 2011, o 20:33
Płeć: Kobieta
Lokalizacja: sjjdl
Podziękował: 1 raz

program na macierzach

Post autor: anka0501 »

Witam, jestem nowa w programowaniu i niezbyt sie znam, dlatego zwracam sie o pomoc, prosze o wytlumaczenie mi pare procedur, co ozn po co sa i dlaczego akurat tak. Mam tu program, to przy czym widnieje znaczek W, prosze o szczegolne wytlumaczenie. Oto ten program:
#include <stdio.h>
#include <conio.h> (W)
#define N 10 (W)

int main()
{
int wybor;
while(wybor!=6) (W)
{
printf("Dzialania:
1-dodawanie macierzy
2-odejmowanie macierzy
3-mnozenie macierzy przez skalar
4-mnozenie macierzy
5-macierz transponowana
6-zakoncz
Wybor: ");
scanf("%d",&wybor);

if(wybor==1)
{
int n,a[N][N],b[N][N],c[N][N]; (W)

printf("podaj n:
");
scanf("%d",&n);

if(n<N+1) (W)
{
for(int j=0;j<n;j=j+1) (W)
for(int i=0;i<n;i=i+1) (W)
{
printf("podaj liczbe [%d, %d] dla pierwszej macierzy:
",i,j); (W)
scanf("%d",&a[j]);
}

for(int j=0;j<n;j=j+1)
for(int i=0;i<n;i=i+1)
{
printf("podaj liczbe [%d, %d] dla drugiej macierzy:
",i,j);
scanf("%d",&b[j]);
}

for(int j=0;j<n;j=j+1)
for(int i=0;i<n;i=i+1)
{
c[j]=a[j]+b[j];
}

printf("oto wynik:
");
for(int j=0;j<n;j=j+1)
{
for(int i=0;i<n;i=i+1)
printf("%d ",c[j]);
printf("
");
}
}
}
else if(wybor==2)
{
int n,a[N][N],b[N][N],c[N][N];

printf("podaj n:
");
scanf("%d",&n);

if(n<N+1)
{
for(int j=0;j<n;j=j+1)
for(int i=0;i<n;i=i+1)
{
printf("podaj liczbe [%d, %d] dla pierwszej macierzy:
",i,j);
scanf("%d",&a[j]);
}

for(int j=0;j<n;j=j+1)
for(int i=0;i<n;i=i+1)
{
printf("podaj liczbe [%d, %d] dla drugiej macierzy:
",i,j);
scanf("%d",&b[j]);
}

for(int j=0;j<n;j=j+1)
for(int i=0;i<n;i=i+1)
{
c[j]=a[j]-b[i][j];
}

printf("oto wynik:
");
for(int j=0;j<n;j=j+1)
{
for(int i=0;i<n;i=i+1)
printf("%d ",c[i][j]);
printf("
");
}
}
}
else if(wybor==3)
{
int n,s,a[N][N];

printf("podaj n:
");
scanf("%d",&n);
printf("podaj s:
");
scanf("%d",&s);

if(n<N+1)
{
for(int j=0;j<n;j=j+1)
for(int i=0;i<n;i=i+1)
{
printf("podaj liczbe [%d, %d] dla macierzy:
",i,j);
scanf("%d",&a[i][j]);
}

for(int j=0;j<n;j=j+1)
for(int i=0;i<n;i=i+1)
{
a[i][j]=a[i][j]*s;
}

printf("oto wynik:
");
for(int j=0;j<n;j=j+1)
{
for(int i=0;i<n;i=i+1)
printf("%d ",a[i][j]);
printf("
");
}
}
}
else if(wybor==4)
{
int n,a[N][N],b[N][N],c[N][N];

printf("podaj n:
");
scanf("%d",&n);

if(n<N+1)
{
for(int j=0;j<n;j=j+1)
for(int i=0;i<n;i=i+1)
{
printf("podaj liczbe [%d, %d] dla pierwszej macierzy:
",i,j);
scanf("%d",&a[i][j]);
}

for(int j=0;j<n;j=j+1)
for(int i=0;i<n;i=i+1)
{
printf("podaj liczbe [%d, %d] dla drugiej macierzy:
",i,j);
scanf("%d",&b[i][j]);
}

for(int j=0;j<n;j=j+1)
for(int i=0;i<n;i=i+1)
{
c[i][j]=0; (W)
for(int k=0;k<n;k=k+1) (W)
c[i][j]=c[i][j]+(a[k][j]*b[i][k]); (W)
}

printf("oto wynik:
");
for(int j=0;j<n;j=j+1)
{
for(int i=0;i<n;i=i+1)
printf("%d ",c[i][j]);
printf("
");
}
}
}
else if(wybor==5)
{
int n,a[N][N],b[N][N];

printf("podaj n:
");
scanf("%d",&n);

if(n<N+1)
{
for(int j=0;j<n;j=j+1) (W)
for(int i=0;i<n;i=i+1) (W)
{
printf("podaj liczbe [%d, %d] dla macierzy:
",i,j);
scanf("%d",&a[i][j]);
}
for(int j=0;j<n;j=j+1) (W)
for(int i=0;i<n;i=i+1) (W)
{
b[j][i]=a[i][j]; (W)
}
printf("oto wynik:
");
for(int j=0;j<n;j=j+1)
{
for(int i=0;i<n;i=i+1)
printf("%d ",b[i][j]);
printf("
");
}
}
}
}
}
anka0501

Posty: 1
Dołączył: dzisiaj, o 17:39
wawek91
Użytkownik
Użytkownik
Posty: 795
Rejestracja: 2 cze 2010, o 08:56
Płeć: Mężczyzna
Lokalizacja: Tarnów
Podziękował: 14 razy
Pomógł: 66 razy

program na macierzach

Post autor: wawek91 »

Nie chce być niemiły, ale to się mija z celem, ponieważ Ty zaznaczyłaś pętle, deklaracje zmiennych, instrukcję przypisania, makrodefinicje, dołączanie bibliotek, dlatego najlepszym wyjściem będzie wygooglanie jakiegośą kursu programowania w c. Tyle ode mnie, życze powodzenia.
_pt
Użytkownik
Użytkownik
Posty: 18
Rejestracja: 22 sty 2011, o 15:26
Płeć: Mężczyzna

program na macierzach

Post autor: _pt »

ok ja zacznę tłumaczenie od instrukcji define.
Najlepiej tłumaczy się na przykładzie.
Wrzuć do kompilatora:

Kod: Zaznacz cały

#include <stdlib.h>
#include <stdio.h>
#define anka0501 printf("Jestem strasznym leniem, przez cały semestr nie zdążyłam się nauczyc nawet podstaw jezyka. Wiec pożyczyłam cudzy kod, pokażę jako swój, może ćwiczeniowiec zaliczy");

int main()
{
anka0501
return 0;
}
anka0501
Użytkownik
Użytkownik
Posty: 21
Rejestracja: 22 sty 2011, o 20:33
Płeć: Kobieta
Lokalizacja: sjjdl
Podziękował: 1 raz

program na macierzach

Post autor: anka0501 »

A ty wrzuć do kompilatora:

Kod: Zaznacz cały

#include <stdlib.h>
#include <stdio.h>
#define pt printf("Jestem strasznym palantem, nie chce mi sie wytlumaczyc paru latwych dla mnie rzeczy,dlatego obrazam inne osoby i wtracam sie w nie swoje sprawy");

int main()
{
pt
return 0;
}
[/quote]
Afish
Moderator
Moderator
Posty: 2828
Rejestracja: 15 cze 2008, o 15:45
Płeć: Mężczyzna
Lokalizacja: Seattle, WA
Podziękował: 3 razy
Pomógł: 356 razy

program na macierzach

Post autor: Afish »

Brawo anka0501, szybko się uczysz. To skoro już napisałaś hello worlda, to znajdź w sieci jakiś kurs i go przeczytaj. Naprawdę nie ma sensu, żeby ktoś tłumaczył Ci absolutne podstawy języka.
_pt
Użytkownik
Użytkownik
Posty: 18
Rejestracja: 22 sty 2011, o 15:26
Płeć: Mężczyzna

program na macierzach

Post autor: _pt »

Ej! Powinnaś podziękować. Dyrektywę #define opanowałaś : ]
ODPOWIEDZ