Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Tablica dwuwymiarowa-przesuwanie cykliczne poobwodzie

Ostatnio zmodyfikowano 2016-05-26 16:44
Autor Wiadomość
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;
}
P-148585
Gabes
» 2016-05-26 09:22:46
P-148586
mateczek
» 2016-05-26 16:44:20
wsawiaj kod w znaczniki
[cpp]
// tutaj kod:
[/cpp]
 inaczej robi sieczkę z programu

C/C++
#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;
    //wyświetlenie
    for( int w = 0; w <= size; w++ ) {
        for( int k = 0; k <= size; k++ ) {
            cout << setfill( '0' ) << setw( 2 ) << matrix[ w ][ k ] << " ";
        }
        cout << endl;
    }
    //rotacja pierwszy rząd. Jedziemy od początku w prawo
    int member = matrix[ 0 ][ 0 ];
    for( int i = 0; i < size; i++ )
         swap( matrix[ 0 ][ i + 1 ], member );
   
    //rotacja 5 kolumna      Jedziemy w dół
    for( int i = 0; i < size; i++ )
         swap( matrix[ i + 1 ][ size ], member );
   
    //rotacja 5 rząd            jedziemy dołem w lewo
    for( int i = size; i > 0; i-- )
         swap( matrix[ size ][ i - 1 ], member );
   
    //rotacja 1 kolumna          jedziemy lewą stroną do góry
    for( int i = size; i > 0; i-- )
         swap( matrix[ i - 1 ][ 0 ], member );
   
    //wyświetlenie
    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;
    }
}
P-148593
« 1 »
  Strona 1 z 1