zadanie z arytmetyka wskaznikow zliczanie elementow

0

Witam,

Jako, iż zaczynam swoją przygodę z programowaniem, robię takie zadanie, myślę nad nim od rana, jednak postanowiłem zasięgnąć pomocy u Was :)
Tak więc:

Treść zadania:

I. Zaimplementuj funkcję int mystrlen(char*) zwracającą długość dostarczonego ciągu
znaków. Program powinien przedstawiać wykorzystanie arytmetyki wskaźników.

  • Tu natomiast mój kod, trochę pewnie popisałem dziadostwa, no ale na błędach człowiek się uczy..
    Głównie nie wiem jak zaimplementować, by zliczało ilość znaków, choć i tak w tym kodzie są błędy/errory.
#include <iostream>

using namespace std;

int mystrlen(char*)
{
    int tab[];
    int* wsk_tab = tab;
    int ilosc_znakow = 0;
    int* wsk_ilosc_znakow;
    wsk_ilosc_znakow = &ilosc_znakow;
    ilosc_znakow = sizeof(tab)/sizeof(int);
}

int main()
{
    mysrtlen("Ania");
    cout<<"Ilosc znakow slowa, w funkcji mysrtlen: "<<*wsk_ilosc_znakow<<endl;

    return 0;
}

Dziękuje z góry za pomoc :)

4
size_t mystrlen(const char* cstr){
    size_t idx = 0;
    while(cstr[idx++]);
    return idx-1;
}

Funkcja size_t length()

7

Wrzucaj kod bezpośrednio na forum.

Problemy:

  1. Konwersja literałów znakowych do char* jest niepoprawna w C++.
  2. Twoja funkcja ma zwrócić int, a nic nie zwracasz
  3. Z niewiadomych przyczyn próbujesz utworzyć nową tablicę zamiast operować na przyjętym wskaźniku
  4. C-stringi to ciągi znaków zakończone zerem. Musisz to zero znaleźć aby poznać długość stringa.
0
kq napisał(a):

Wrzucaj kod bezpośrednio na forum.

Problemy:

  1. Konwersja literałów znakowych do char* jest niepoprawna w C++.
  2. Twoja funkcja ma zwrócić int, a nic nie zwracasz
  3. Z niewiadomych przyczyn próbujesz utworzyć nową tablicę zamiast operować na przyjętym wskaźniku
  4. C-stringi to ciągi znaków zakończone zerem. Musisz to zero znaleźć aby poznać długość stringa.

Bo właśnie nie wiem, jak operować na przyjętym wskaźniku.. mam jakąś dziure i wmawiam sobie, że musze utworzyć nową tablice, zeby móc policzyć ten ciąg znakow...;/

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