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

wypisanie slowa od tylu

Ostatnio zmodyfikowano 2014-11-16 14:58
Autor Wiadomość
gambler13
Temat założony przez niniejszego użytkownika
wypisanie slowa od tylu
» 2014-11-16 01:51:10
Hej, programuję od kilku tygodni więc wybaczcie poziom który reprezentuje:) Muszę napisać program który poprosi o podanie słowa i wypisze je od końca. Myślę, że pomysł jest ok jednak gdzieś w kodzie jest błąd, ponieważ program wypisuje zamiast liter jedynie same linijki.
C/C++
#include <stdio.h>
int main()
{
    char c;
    int x;
    int i;
    int j;
    printf( "Ile liter ma miec slowo?\n" );
    scanf( "%d", & x );
    int tab[ x ];
    char znak;
   
    printf( "Podaj slowo\n" );
   
    for( i = 1; i <= x; i++ )
    {
        scanf( "%c", & znak );
        c = getchar();
        tab[ i ] = znak;
    }
    tab[ i ] = tab[ j ];
    printf( "slowo pisane od tylu to :\n" );
    for( j = x; j >= 1; j-- )
    {
        printf( "%c", tab[ j ] );
    }
}
Nakierujcie mnie jakoś na prawidłowe rozwiązanie :)
[/i]
P-120747
Piastlis
» 2014-11-16 02:16:23
Podaruj sobie printf i scanf a naucz się najpierw korzystać z std::cout.
P-120749
mati1995g
» 2014-11-16 09:42:57
w sumie też się na programowaniu zbytnio nie znam ale masz to:

C/C++
#include <iostream>
#include <string>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int main( int argc, char ** argv ) {
    string w;
    cin >> w;
   
   
   
    for( int k = w.size() - 1; k >= 0; k-- ) {
       
        cout << w[ k ];
    }
   
   
   
   
    return 0;
}
[ \c pp ]
P-120759
Piastlis
» 2014-11-16 10:47:49
Teraz działa.Ale to nie jest ten sam pomysł.

P-120761
mati1995g
» 2014-11-16 12:34:02
Proszę więc to jest program według pomysłu autora :
C/C++
#include <stdio.h>
int main()
{
    char c;
    int x;
    int i;
    int j;
    printf( "Ile liter ma miec slowo?\n" );
    scanf( "%d", & x );
    int tab[ x ];
    char znak;
   
    printf( "Podaj slowo\n" );
   
    for( i = 0; i <= x; i++ )
    {
        scanf( "%c", & znak );
       
        tab[ i ] = znak;
    }
   
    printf( "slowo pisane od tylu to :\n" );
    for( j = x; j >= 1; j-- )
    {
        printf( "%c", tab[ j ] );
    }
}
P-120766
Piastlis
» 2014-11-16 12:42:43
Prawie dobrze...Teraz wystarczy zam1ast printf i scanf użyć cout...
P-120768
Kaikso
» 2014-11-16 12:53:27
Myślę że to powinno tak wyglądać
C/C++
#include <stdio.h>
#include <malloc.h>

int main( void )
{
    unsigned len;
    printf( "Podaj dlugosc slowa: " );
    scanf( "%u", & len );
   
    char * str = malloc( len + 1 );
    printf( "Podaj slowo: " );
    scanf( "%*s", len + 1, str );
   
    int i;
    printf( "Slowo od tylu to: " );
    for( i = len; i >= 0; i-- )
         printf( "%c", str[ i ] );
   
    printf( "\n" );
    free( str );
    return 0;
}
P-120769
Rashmistrz
» 2014-11-16 13:28:02
Ja bym stworzył pętlę, dwie tablice jak i zmienne.
W pierwszej tablicy umieściłbym nasze słowo.
Pierwszej zmiennej (od_poczatku) ustawiłbym indeks
pierwszego elementu drugiej tablicy, a drugiej (od_konca)
indeks ostatniego elementu tablicy z naszym słowem.
Następnie w pętli:
slowo_odwrocone[ od_poczatku ] = slowo[ od_konca ];

i po każdym obiegu pętli dekrementujemy zmienną "od_konca"
i inkrementujemy zmienną "od_poczatku", chociaż możemy
od razu to wstawić w instrukcję przypisania:
slowo_odwrocone[ od_poczatku++ ] = slowo[ od_konca-- ];

A warunek pętli już sam sobie wymyślisz. :P


P-120772
« 1 » 2
  Strona 1 z 2 Następna strona