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

Doklejanie stringa z jednej tablicy do drugiej.

Ostatnio zmodyfikowano 2015-11-24 14:28
Autor Wiadomość
maciaas87
Temat założony przez niniejszego użytkownika
Doklejanie stringa z jednej tablicy do drugiej.
» 2015-11-24 13:50:00
Hej,
tresc zadania:
Napisz funkcje, ktora do konca stringu bedacego w jednej tablicy, dolaczy string, bedacy w drugiej tablicy. Argumentami tej funkcji powinny byc
- adres tablicy docelowej,
- jej rozmiar,
- adres tablicy ze stringiem dolaczonym.
Funkcja powinna przerwać dołączanie stringu w przypadku zapełnienia całej tablicy.


Ogólnie program działa, jednak nie wiem jak zrobić, zeby string został nie został "doklejony" do poprzedniego tylko, ze nastąpiła spacja pomiędzy wyrażeniami lub został końcowy NULL ze stringa... np.  "abc0123" lub "abc 123"
proszę o pomoc :)

Nie chodzi mi o to, żeby dopisać do jakiejś  tablicy "spacje" tylko żeby w funkcji void to rozwiązać...

C/C++
#include <iostream>
#include <cstring>
#include <cstdlib>
using namespace std;


void kopiuj( char cel[], int rozmiar, char zrodlo[] ) {
   
    for( int i = 0, n = 0; i < rozmiar - 1; i++ ) {
       
        if( cel[ i ] == 0 ) {
            cel[ i ] = zrodlo[ n ];
            n++;
           
            if( zrodlo[ n ] == 0 )
                 break;
           
        }
    }
}

void wypisz( char tab[], int rozmiar ) {
   
    for( int i = 0;; i++ ) {
        cout << tab[ i ];
        if( tab[ i ] == 0 )
             break;
       
    }
}

int main()

{
   
    const int rozmiar = 9;
    char zrodlo[] = { "123456789" };
    char cel[ 9 ] = { "abc" };
   
    kopiuj( cel, rozmiar, zrodlo );
    wypisz( cel, rozmiar );
   
   
   
   
    return 0;
}
P-140700
maciaas87
Temat założony przez niniejszego użytkownika
» 2015-11-24 14:28:53
udało mi sie... temat mozna zamknac :)


dopisalem to na poczatku voida:

C/C++
for( int i = 0;; i++ ) {
    if( cel[ i ] == 0 )
    { cel[ i ] = ' ';
        break;
    }
}
P-140702
« 1 »
  Strona 1 z 1