Skocz do zawartości
froro320

Zadanie z informatyki

Rekomendowane odpowiedzi

Napisano (edytowane)

Witam mam zadanie z informatyki, gdzie ma być wywołanie funkcji pary("TGATTCTGAACAAGTGTT"), a wynikiem ma być liczba par jednakowych symboli np. TA=0, TT=1, TTT=2;

 

 

#include <iostream>;

 

using namespace std;

 

string s="TGATTCTGAACAAGTGTT"; //tutaj jest np 4 takich par.

 

int main()

{

 

int i=0;

int ile=0;

for(int i=0;i<s.size()-1;i++)

{

if(s==s[i+1]);

ile++;

}

 

cout<<"Liczba powtarzających się liter: <<ile;

 

return 0;

}

 

Mógłby powiedzieć gdzie jest błąd i co robie źle? Dodam, że mam to zrobić za pomocą return ile; i funkcji pary(string s); Tylko kompletnie nie wiem jak to zapisać i użyłem w swoim funkcji main.

Edytowane przez froro320

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Problem polega na tym, że postawiłeś ";" zaraz po instrukcji warunkowej "if", przez co ile++ ciągle się wykonuje. Pamiętaj też, że jeśli nie używasz klamr w "if" to warunek będzie obejmował tylko pierwszą linijkę po "if". Tu akurat ma to sens, tylko usuń ten średnik i będzie działać.

 

Tak jeszcze co do kodu, to nie ma potrzeby dwa razy deklarować int i. Wystarczy że zadeklarujesz go w pętli "for".

 

A żeby zrobić to w formie funkcji, to musisz najpierw o nich trochę poczytać - to nie jest trudne. :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ja bym jeszcze dorzucił, że jeśli już wstawiasz jakiś kod, zdecydowanie łatwiej będzie nam go przeczytać i coś na jego temat powiedzieć, jeśli osadzisz go w znacznikach code. Wystarczy, że po wklejeniu w post kodu zaznaczysz go i klikniesz na górze ikonę < >.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ja proponuję zacząć od nauki obsługi forum ;)

Kod najlepiej umieszczać w tagach code (< > w menu), będzie łatwiej się czytało.

 

int main()
{

int i=0;
int ile=0;
for(int i=0;i<s.size()-1;i++)
{
	if(s[i]==s[i+1]);
	ile++;
}

cout<<"Liczba powtarzających się liter: <<ile;

return 0;
}

 

Są wcięcia, kolorowanie składni.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Napisano (edytowane)

#include <iostream>
#include <cstdlib>

using namespace std;



string s = "TGATTCTGAACAAGTGTTA";

int pary(string s)
{

	int ile = 0;
	for (int i = 0; i < s.size() - 1; i++)
	{
		if (s[i] == s[i + 1])
			ile++;
	}

	return ile;
}


int main()
{


cout<<"Ilość powtarzających się liczb: "<<pary(s);

return 0;
}

 

Nie wazne już ogarnąłem.

Edytowane przez froro320

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Napisano (edytowane)
#include <iostream>
#include <cstdlib>

using namespace std;




int pary(string s)
{

	int ile = 0;
	for (int i = 0; i < s.size() - 1; i++)
	{
		if (s[i] == s[i + 1])
			ile++;
	}

	return ile;
}


int main()
{

string s = "TGATTCTGAACAAGTGTTA";

cout<<pary(s)<<endl;

return 0;
}

Edytowane przez Pawrob

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Napisano (edytowane)

Dzięki za pomoc.

Edytowane przez froro320

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...