Tablica dwuwymiarowa-przesuwanie cykliczne poobwodzie
Ostatnio zmodyfikowano 2016-05-26 16:44
rafalwilis Temat założony przez niniejszego użytkownika |
Tablica dwuwymiarowa-przesuwanie cykliczne poobwodzie » 2016-05-26 02:58:05 Witam Mam za zadanie wczytac tablice z licz losowych, znalezc element najwiekszy i wydrukowac kolumne ktora zawiera ten element a na koniec przesunac wszytskie elementy po obwodzie. Z tym ostatnim mam problem. Program daje zle wyniki. Czy ktos ogarnia czemu?
#include <iostream> #include <iomanip> #include <cstdlib> #include <ctime>
using namespace std; const int D=2; const int G=99; const int w=4; const int k=4;
int main(int argc, char* argv[]) { srand( time( NULL )); int A[w][k], rog_2, rog_3, rog_4; int i,j,kolumna; int max;
for (i=0;i<w;i++) for (j=0;j<k;j++) A[j]=D+rand()%(G+1-D);
for (i=0;i<w;i++) { for (j=0;j<k;j++) cout<<setw (10) <<A[j]; cout<<endl;
} cout<<endl; max=A[0][0]; for (i=0;i<w;i++) { for (j=0;j<k;j++) { if (max<=A[j]) { max=A[j]; kolumna=j; }
} }
cout<<max<<endl<<endl; for(i=0;i<w;i++) { cout<<A[kolumna]<<endl; }
//Przesuniecie liczb po obwodzie zgodnie z ruchem wskazowek zegara rog_2=A[0][k-1]; rog_3=A[w-1][k-1]; rog_4=A[w-1][0]; for (j=0;j<k;j++) { for(i=0;i=0;) A[0][j]=A[0][j+1]; cout<<A[0][j]; cout<<endl; }
for (i=1;i<w;i++) { A[k-1]=A[i+1][k-1];
} for(j=k-2;j>0;j--) { A[w-1][j]=A[w-1][j-1]; } for (i=w-2;i>0;i--) { A[0]=A[i-1][0]; } A[0][k-1]=rog_2; A[w-1][k-1]=rog_3; A[w-1][0]=rog_4;
for(i=0;i<w;i++); { for(j=0;j<k;j++); cout<<setw(5)<<A[j]; cout<<endl; } cout<<endl;
return 0; }
|
|
Gabes |
» 2016-05-26 09:22:46 |
|
mateczek |
» 2016-05-26 16:44:20 wsawiaj kod w znaczniki [cpp] // tutaj kod: [/cpp]
inaczej robi sieczkę z programu #include <iostream> # include <iomanip> using namespace std; int main() { int matrix[ 5 ][ 5 ] = { { 1, 2, 3, 4, 5 }, { 16, 0, 0, 0, 6 }, { 15, 0, 0, 0, 7 }, { 14, 0, 0, 0, 8 }, { 13, 12, 11, 10, 9 } }; const int size = 4; for( int w = 0; w <= size; w++ ) { for( int k = 0; k <= size; k++ ) { cout << setfill( '0' ) << setw( 2 ) << matrix[ w ][ k ] << " "; } cout << endl; } int member = matrix[ 0 ][ 0 ]; for( int i = 0; i < size; i++ ) swap( matrix[ 0 ][ i + 1 ], member ); for( int i = 0; i < size; i++ ) swap( matrix[ i + 1 ][ size ], member ); for( int i = size; i > 0; i-- ) swap( matrix[ size ][ i - 1 ], member ); for( int i = size; i > 0; i-- ) swap( matrix[ i - 1 ][ 0 ], member ); cout << "\n teraz wyswietlam po rotacji \n" << endl; for( int w = 0; w <= size; w++ ) { for( int k = 0; k <= size; k++ ) { cout << setfill( '0' ) << setw( 2 ) << matrix[ w ][ k ] << " "; } cout << endl; } }
|
|
« 1 » |