Proszę o pomoc, czy możecie dokonczyc to zadanie?

0

Proszę o pomoc w dokonczeniu zadania. Stanełem i nie wiem jak dalej dokonczyc. Chyba powinnenem użyc pętli for ale nie mogę sobeie poradzić. Ze wzgledu ze musze miec to do wieczora gotowe, proszę o pomoc w uzupełnieniu tego

Prosz¦ napisa¢ program, w ktorym deniujemy dowolne dwa C-napisy (czyli tablice
znaków) i wysyªamy je do funkcji która wypisuje:
w pierwszej linii wszystkie litery (w dowolnej kolejno±ci), które pojawiaj¡ si¦
zarówno w pierwszym jak i drugim napisie (tylko litery, a wi¦c nie licz¡c znaków
odst¦pu, cyfr, znaków interpunkcyjnych itd). Ka»da litera wyst¦puj¡ca w obu
napisach powinna zostac wypisana tylko raz. Odpowiadaj¡ce sobie litery du»e
i maªe (na przykªad 'a' i 'A') s¡ traktowane jako te same;
w drugiej linii wszystkie litery (znów, w dowolnej kolejno±ci) z pierwszego napisu,
których nie ma w drugim. Jak poprzednio, odpowiadaj¡ce sobie litery
du»e i maªe s¡ traktowane jako te same.
Zadanie powinno zosta¢ wykonane przez funkcj¦, do której posyªamy utworzone
w funkcji main dwie niemodykowalne tablice znaków. Wewn¡trz funkcji nie powinny
by¢ tworzone »adne dodatkowe tablice pomocnicze. Nie nale»y wykorzystywa¢
znajomo±ci kodów ASCII konkretnych liter.

Nie wolno wª¡cza¢ do programu <cstring> (<string.h>) i/lub <string>.
Nie wolno tworzy¢ »zadnych pomocniczych tablic.

#include <iostream>
using namespace std;

void wypisz_wyniki(const char* n1, const char* n2);

int main() {
	char nap1[] = "Jakis Dlugi Napis!";
	char nap2[] = "Zupelnie inny napis...";
	wypisz_wyniki(nap1,nap2);
}

int size(const char* n) {
	int sizen = 0;
	while(n[sizen] != '\0') {
		sizen++;
	}

}

void wypisz_wyniki(const char* n1, const char* n2) {
	int sizen1 = size(n1);
	int sizen2 = size(n2);
	string txt;
	

	
	
}
1

Zadanie jest paskudne jeśli naprawdę nie możesz zrobić tablic pomocniczych. Potrzebujesz skorzystać tolower() lub toupper() i się pobawić kilkoma pętlami na raz.

0

Operatory Bitowe i jedna zmienna typu int, wystarczą w zupełności. Jeżeli nie można korzystać z znajomości położenia kodów ASCII, to trochę napałowo ifów trzeba napisać, albo lepiej skorzystać z enuma . Do całości wystarczą po jednej pętli dla każdego napisu, albo jak zakombinujesz, to jedna wystarczy.

0

No okej, z podpowiedzią, że należy użyć operacji bitowych faktycznie można to zadanie rozwiązać używając dwa inty i dwie pętle.

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