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

[c] Wprowadzanie cyfr i zamienianie ich miejscami

Ostatnio zmodyfikowano 2014-02-19 14:29
Autor Wiadomość
mors
Temat założony przez niniejszego użytkownika
[c] Wprowadzanie cyfr i zamienianie ich miejscami
» 2014-02-15 11:23:12
Witajcie, napisałem program który zamienia cyfry miejscami. Nie działa on poprawnie dla nieparzystej liczby cyfr ( zamienia wtedy też ostatnią i wszystko się sypie ) chciałbym alby przy nieparzystej liczbie cyfr ostatnią zostawił w spokoju.

C/C++
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

void przestaw( int tab[], int n )
{
    int flaga = 0;
    if( n % 2 != 0 )
    {
        flaga = 1;
    }
   
    int i, temp, j;
    for( i = 0; i < n; i++ )
    {
        for( j = 0; j < n - 1 - i; j++ )
        {
            temp = tab[ i + 1 ];
            tab[ i + 1 ] = tab[ i ];
            tab[ i ] = temp;
            //   printf("Przestawienie numer: %d\n",j);
        }
    }
}

int main()
{
    int a, i;
   
    printf( "Podaj wielkosc tablicy:" );
    scanf( "%d", & a ); // rozmiar tablicy
    int tab[ a ];
   
   
   
    for( i = 0; i < a; i++ )
    {
        scanf( "%d", & tab[ i ] );
    }
   
    przestaw( tab, a );
    printf( "\n\n" );
    for( i = 0; i < a; i++ )
    {
        printf( "%d\n", tab[ i ] );
       
    }
   
   
   
    return 0;
}
P-104644
00Andre
» 2014-02-15 12:08:15
Może dodaj też else gdy nie są podzielne przez dwa i ustaw flagę na 0
P-104649
Adik80
» 2014-02-17 12:30:37
chcesz przestawic 1 z 2, 3 z 4, itd. ?

C/C++
void przestaw( int tab[], int n )
{
    int i, temp;
    for( i = 0; i < n - 1; i += 2 )
    {
        temp = tab[ i + 1 ];
        tab[ i + 1 ] = tab[ i ];
        tab[ i ] = temp;
    }
}
P-104763
mors
Temat założony przez niniejszego użytkownika
» 2014-02-19 14:28:06
Wejście:
-1 2 31 400 -20
Wyjście:
2 -1 400 31 -20

-20 mi jeszcze niepotrzebnie przestawia
P-104962
mors
Temat założony przez niniejszego użytkownika
» 2014-02-19 14:29:56
Ok, działa. Dzięki Adik80
Możecie mi jeszcze wytłumaczyć po co ja miałem tą 2 pętle? (kierowałem się przestawianiem przy sortowaniu bąbelkowym)
P-104963
« 1 »
  Strona 1 z 1