strlen w C++

0

#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;

string a;

int main()
{
cin >> a;
cout << (strlen (a));
for (i=1;i<=do liczby znakow;i++)

return 0;

}

Pytanie jest jak ograniczyć pętle ilością znaków ? na pewno jest jakiś sposób, mógłby ktoś pomoc ? :)

0

Naucz się korzystać z klasy string, jej nagłówek to bynajmniej nie string.h

http://www.cplusplus.com/reference/string/string/size/

0

Kod umieszczaj w odpowiednich znacznikach.
3 sposoby:

 int length = strlen(a);
for(int i = 0 ; i < length; ++i)
for(int i = 0 ; i < strlen(a); ++i)
for(int i = 0 ; a[i] != '\0'; ++i) //chyba nic nie pomieszałem :P

EDIT:
Nie zawróciłem uwagi że korzystasz z stringa. To co podałem bardziej dotyczy starego C.

 for(int i = 0; i < a.length(); ++i) 
0

cin >> a;
int length = strlen(a);
for(int i = 0; i < a.length(); ++i)

to nie działa.

error: cannot convert 'std::string {aka std::basic_string<char>}' to 'const char*' for argument '1' to 'size_t strlen(const char*)'|

0

a jak bym chciał teraz wywołać tą liczbę określającą długość ?

cout << a.lenght ();

bo tak nie działa , ale ten C++ jest wybredny -.-

0

Dlaczego nie zajrzysz do poradnika oraz dokumentacji?
Masz dwa błędy - pomyliłeś operator oraz skorzystałeś z nieistniejącej funkcji.

1
#include <string> //nie string.h

//...

int main()
{
    //...
    string a;
    cin >> a;
    cout << a.length();
    //...
}
0

Gdyby ktoś miał chwilę czasu, ja już nie mam siły szukać błędu. Program ma wyszukać najmniejszą i największą liczbę. Warunek jest dobry, cały pomysł też myślę daje rade. Mimo wszystko wyniki są niepoprawne :( Z góry dziękuję.

#include <iostream>
#include <stdio.h>
#include <string>

using namespace std;

string a;
int miin;
int maax;


int main() {

cin >> a;
cout << "\n";
cout << a.length ();
cout << "\n";

miin=0;
for(int i=0;i<a.length();++i){
cout <<a[i];
}

for(int i=0; i<a.length(); ++i){

if (a[i]<=miin) {

    miin=a[i];
}

}
cout << "najmniejsza liczba\n";
cout << miin;

maax=0;
for(int i = 0; i <= a.length(); ++i){

if (a[i]>=maax) {
maax=a[i];
}

}
cout << "najwieksza liczba";
cout << maax;


return 0;
}
0

Program ma wyszukiwać najmniejszą i największą liczbę z ciągu znaków? :|
Co miałby zwrócić, gdybyś mu wpisał abchelloworld?

0

a no rzeczywiscie :| . Już sobie poradziłem na vectorze. a tutaj nie pomyślałem. Dzięki. Bez odbioru :)

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