Odpowiedź :
Odpowiedź:
KOD
Wyjaśnienie:
#include <iostream>
using namespace std;
main(){
char T[20]={'T','C','T','A','A','C','A','G','C','C','C','C','A','T','A','T','C','G','G','G'};
for(int n=0;n<20;n++)
{
if(T[n]=='C')
{
if(T[n+1]=='A')
{
if(T[n+2]=='T')
cout<<"Etap algorytmu: "<<n+1;
}
}
}
return 0;
}
Prawdopodobnie chodziło o to, wynik to 12.
Odpowiedź
Kod źródłowy jest w pierwszym załączniku. W drugim podałam jak wyglądają przykładowe wyniki uruchomienia.
Przykładowe wyniki uzyskałam na platformie replit.
Zostawiłam układ jak w poprzednim rozwiązaniu, aby można było łatwo porównać. Co zmieniłam?
- Użyłam string, ponieważ należy używać string, jeśli nie czujesz się komfortowo możesz zostawić tak jak było.
- Pętla nie może być do ostatniego elementu! Wtedy n + 1 oraz n + 2 wychodzą poza obszar łańcucha! Dlatego pętla jest do
rozmiar łańcucha - 2 - W zadaniu proszą o obliczenie ile wzorców zostało znalezionych. Dodałam obliczenie tej wielkości.
Normalnie bym zmieniła nazwę z 'T' na przykładowo łańcuch _DNA, albo chociaż łańcuch lub dna. Jednak, jak napisałam powyżej, dla porównania chciałam pozostawić ten sam układ.
Wyjaśnienie
Jeżeli Twoja platforma nie obsługuje polskich liter w komunikatach, to zamień literę ó w komunikacie na literę o.
Gdybyś załączył zdjęcia poprzednich stron podręcznika, to bym dokładnie wiedziała jak ma być napisane. Na wszelki wypadek dołączyłam wersję gdy litery do porównania są brane z łańcucha tekstowego 'wzorzec', a nie wpisane na stałe w program (trzeci załącznik).
Popatrzywszy na kod źródłowy w trzecim załączniku łatwo już można sobie wyobrazić skąd się wziął program w czwartym załączniku.
Tak, zmienną 'znaleziono' specjalnie zadeklarowałam wewnątrz pętli, bo tylko tam jest ona używana.