Funkcja wstawiająca na przemian litery wyrazów

2015-01-24 17:55
0

Napisz funkcję która przyjmuje jako argumenty 3 napisy – ‘wyraz1’, ‘wyraz2’,
‘wyraz3’, a następnie pod wyraz trzeci wstawia naprzemiennie litery z wyrazów 1 i 2.
Jeżeli wyrazy 1 i 2 są różnej długości, końcówka dłuższego wyrazu zostaje pominięta
(np. „abcd”, „efghijk” -> „aebfcgdh”). Zakładamy, że wyrazy są prawidłowo
zaalokowane w pamięci i są wystarczająco długie
Po uruchomieniu i wpisaniu wyrazow program wyswietla mi "ń".

#include <stdio.h>
void przepisz(char* wyraz1, char* wyraz2, char* wyraz3)
{
    int i, licznik1 = 0, licznik2 = 0;
    for (i = 0; i < 100; i++) {
        if (i % 2 == 0 || i == 0) {
            wyraz3[i] = wyraz1[licznik1];
            licznik1++;
        } else {
            wyraz3[i] = wyraz2[licznik2];
            licznik2++;
        }
    }
    printf("%c", wyraz3);
}

int main()
{

    char napis1[100], napis2[100], napis3[100];
    scanf("%s", napis1);
    scanf("%s", napis2);
    przepisz(napis1, napis2, napis3);
    return 0;
}

Pozostało 580 znaków

2015-01-24 20:05
0

Nie printf("%c", wyraz3); tylko printf("%s", wyraz3);
Ta instrukcja powinna być poza funkcją.

Jeżeli wyrazy 1 i 2 są różnej długości, końcówka dłuższego wyrazu zostaje pominięta
(np. „abcd”, „efghijk” -> „aebfcgdh”).

Twój algorytm tego nie robi.

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0