C - transponowanie macierzy
- qaz
- Użytkownik
- Posty: 486
- Rejestracja: 28 paź 2006, o 21:56
- Płeć: Kobieta
- Lokalizacja: Gobbos' Kingdom
- Podziękował: 311 razy
- Pomógł: 5 razy
C - transponowanie macierzy
Potrzebuję program transponujący macierz, wczesniej wprowadzona o dowolnym wymiarze, moze ktos dysponuje takim? Bylabym wdzieczna ...
-
- Użytkownik
- Posty: 107
- Rejestracja: 7 lis 2006, o 12:03
- Płeć: Mężczyzna
- Lokalizacja: Gdańsk
- Pomógł: 20 razy
C - transponowanie macierzy
Kod: Zaznacz cały
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i,j,n,m,**mac;
scanf("%d %d",&n,&m); /* wyniar macierzy n wierszy, m kolumn */
mac = (int **) malloc(n*sizeof(int));
for(i=0;i<n;i++) mac[i] = (int *) malloc(m*sizeof(int));
for(i=0;i<n;i++)
for(j=0;j<m;j++)
scanf("%d",&mac[i][j]);
/* wyswietl macierz transponowana */
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("%d ",mac[j][i]);
printf("
");
}
return 0;
}
-
- Użytkownik
- Posty: 36
- Rejestracja: 30 lip 2006, o 21:05
- Płeć: Mężczyzna
- Lokalizacja: Krakow
- Podziękował: 6 razy
C - transponowanie macierzy
Jak to jak nalezy wprowadzac dane... Przeciez masz kod u gory. Najpierw podajesz wymiar macierzy (m,n) a potem m*n elementow macierzy.
- Emiel Regis
- Użytkownik
- Posty: 1495
- Rejestracja: 26 wrz 2005, o 17:01
- Płeć: Mężczyzna
- Lokalizacja: Kraków
- Podziękował: 71 razy
- Pomógł: 225 razy
C - transponowanie macierzy
Mam nadzieje że nie zakręcę Ci w głowie programem w C++.
Napisalem go teraz, zajmuje wiecej tekstu, natomiast jest znacznie bardziej czytelny niż poprzednika i klarowniejszy do celów edukacyjnych.
Zresztą skompiluj go sobie to sama wszystko zobaczysz; )
Pozdrawiam!
Napisalem go teraz, zajmuje wiecej tekstu, natomiast jest znacznie bardziej czytelny niż poprzednika i klarowniejszy do celów edukacyjnych.
Kod: Zaznacz cały
#include<iostream>
using namespace std;
int main()
{
int n, m;
cout << "Liczba wierszy: ";
cin >> n;
cout << "Liczba kolumn: ";
cin >> m;
double macierz[n][m];
double macierzT[m][n];
for(int i = 0; i < n; i++) //wstawianie danych
{
for(int j = 0;j < m; j++)
{
cout << "Wyraz [" << i << "][" << j << "]: ";
cin >> macierz[i][j];
}
}
for(int i = 0; i < n; i++) //transponowanie macierzy
{
for(int j = 0;j < m; j++)
macierzT[j][i]=macierz[i][j];
}
cout << "Macierz:" << endl;
for(int i = 0; i < n; i++) //wyswietlanie macierzy
{
for(int j = 0;j < m; j++)
{
cout << macierz[i][j] << " ";
}
cout << endl;
}
cout << endl;
cout << "Macierz transponowana:" << endl;
for(int i = 0; i < m; i++) //wyswietlanie macierzy transponowanej
{
for(int j = 0;j < n; j++)
{
cout << macierzT[i][j] << " ";
}
cout << endl;
}
system("PAUSE");
return 0;
}
Pozdrawiam!
-
- Użytkownik
- Posty: 107
- Rejestracja: 7 lis 2006, o 12:03
- Płeć: Mężczyzna
- Lokalizacja: Gdańsk
- Pomógł: 20 razy
C - transponowanie macierzy
tak jak napisał Dreake:qaz pisze:cos mi nie dziala chyba, jak nalezy wprowadzac te dane, bo nie ma opisu.
PS. ale i tak dzięki
\(\displaystyle{ m n\\
ft[\begin{array}{ccc}a_{1 1}&...&a_{1 n}\\...&...&...\\a_{1 m}&...&a_{n m}\end{array}\right]}\)
np:
2 4
1 2 3 4
9 8 7 6