Wykop.pl Wykop.pl
  • Główna
  • Wykopalisko446
  • Mikroblog
  • Zaloguj się
  • Zarejestruj się
  • Wykop.pl
  • Ciekawostki
  • Informacje
  • Rozrywka
  • Sport
  • Motoryzacja
  • Technologia
  • Ukraina
  • Gospodarka
  • Podróże

Dostosuj Wykop do siebie

Wybierz treści, które Cię interesują
i zapisz jako Własną kategorię.

8tab
8tab

8tab

Dołączył 8 lat i 11 mies. temu
  • Obserwuj
  • Akcje 9848
  • Znaleziska 2502
  • Mikroblog 7346
  • Obserwujący 0
  • Obserwowane 30
  • Dodane (5)
  • Komentowane (290)
  • Plusowane (7051)
WernerHeisenberg
WernerHeisenberg
WernerHeisenberg
11.11.2018, 20:49:39
  • 0
Dlaczego ten string wynik jest pusty w mainie, mimo ze w tej funkcji wszystko dziala? #cpp #naukaprogramowania

string sprawdz_pali(string pali){
int k =1,f=0,coutn=0;
string wynik;

for(int i =0;i<pali.size() -f ;i++){

if(pali[i] == pali[pali.size()-i-k]){
cout<<"ok"<<endl;
coutn++;
}else{
cout<<"nie"<<endl;
f++;
k++;
coutn =0;
i=0;
}
if(coutn == pali.size() - f -1){

for(int w=0;w<pali.size() -f;w++){
wynik[w] = pali[w];
//cout<<wynik[w];

}
return wynik;
}
}
}
  • 14
8tab
8tab
8tab 11.11.2018, 20:55:13
  • 0
@WernerHeisenberg: spróbuj tak zdefiniować zmienną wynik string wynik(pali.size());.
8tab
8tab
8tab 11.11.2018, 21:05:50
  • 1
@WernerHeisenberg: więc pewnie masz tylko jeden przebieg pętli

for(int w=0;w<pali.size() -f;w++){
wynik[w] = pali[w];
//cout<<wynik[w];
}

Co powinna zawierać zmienna wynik na końcu funkcji? Nazwa sprawdz_pali sugeruje, że funkcja zwraca powinna zwracać bool a nie std::string, więc dla mnie nie jest jasne co powinno być w wynik.
  • lwonly
malinq
malinq
malinq
11.11.2018, 19:23:58
  • 1
#naukaprogramowania #cpp

Jak po uzupełnieniu tablicy przez użytkownika mogę określić ilość wartości różnych od zera? Tak aby podzielić sumę całej tablicy tylko przez ilość wartości różnych od zera?
  • Rapepo
  • 6
8tab
8tab
8tab 11.11.2018, 21:51:51
  • 0
@malinq: coś takiego powinno zadziałać std::accumulate(std::begin(a), std::end(a), 0) / std::count_if(std::begin(a), std::end(a), [] (int i) -> bool { return i != 0; });
Możesz też zrobić jakąś tablicę stringów z "Podaj ocene...." i pętlę po niej, aby uprościć wczytywanie danych.
T.....y
T.....y
konto usunięte 11.11.2018, 15:04:04
  • 2
Wracam po długiej przerwie do C++ i mam pytanie:
Tworzę sobie dynamiczną tablice unsigned long long:

unsigned long long* tab = new usigned long long[n]
gdzie n jest intem przekazanym w parametrze. Potem przekazuję tablicę gdzie indziej i tam chcę sobie na szybko od nowa obliczyć jej wielkość korzystając z:

int n = sizeof(tab) / sizeof(unsigned long long)
lecz zawsze otrzymuję tu liczbę 1, nieważne jakiej wielkości stworzyłem tablicę.
Co jest nie
  • Rapepo
  • 8tab
  • 11
8tab
8tab
8tab 11.11.2018, 16:07:01
  • 0
@TenAnonToKlopoty: sizeof(tab) == sizeof(void*) == 8 jeśli kompilujesz pod 64 bity. A sizeof(unsigned long long) to też 8, stąd n == 1. Także, oprócz tab, musisz też przekazać n.
Aby lepiej to zrozumieć możesz też pobawić się tym kodem:

int n = 4;
unsigned long long *tab1 = new unsigned long long[n];
unsigned long long tab2[n];
printf("tab1 %zu\n", sizeof(tab1));
printf("tab2 %zu\n", sizeof(tab2));
8tab
8tab
8tab 11.11.2018, 16:12:13
  • 0
@TenAnonToKlopoty: tu też nie sugeruję abyś porzucił new i zastosował VLA, bo pewnie w definicji funkcji masz unsigned long long* tab jako parametr, więc w samej funkcji sizeof(tab) == sizeof(void*) == 8, niezaleźnie od tego czy podasz tab1 czy tab2 z mojego przykładu.
Lepiej to widać w tym kawałku kodu:

#include

void f(unsigned long long* tab)
{
printf("tab %zu\n", sizeof(tab));
}

int main(void)
{
int n = 4;
unsigned long
8tab
8tab
8tab 11.11.2018, 16:15:43
  • 0
@TenAnonToKlopoty: podsumowując, jak przekazujesz tablicę gdzie indziej, to musisz także przekazać ile ma elementów i tyle. Sposób, który podałeś do obliczenia ile tablica ma elementów jest nieprawidłowy.
k.....a
k.....a
konto usunięte 20.10.2018, 16:55:23
  • 13
#technologia
2010 vs 2018 ( ͡º ͜ʖ͡º)
  • xEwald
  • Novvaczeq
  • lewitujacytapczan
  • asffaf
  • konto usunięte
  • +8 innych
  • 5
8tab
8tab
8tab 20.10.2018, 17:08:15
  • 1
@kapuczina_corki_somsiada: zachowanie tego pierwszego robota robi większe wrażenie moim zdaniem
  • n0002
8tab
8tab
8tab 20.10.2018, 17:15:48
  • 2
@kapuczina_corki_somsiada: raczej wyjście z poślizgu i utrzymanie równowagi vs. predefiniowane, powtarzalne ruchy
  • n0002
  • Morf
P.....a
P.....a
konto usunięte 13.10.2018, 18:38:23 via Android
  • 2
Poszedłem na #informatyka zaocznie w #poznan i trochę się załamałem, bo większość ludzi coś już działa w it, a ja kompletnie od zera. Na zajęciach też nie ogarniam co się dzieje. To normalne czy lepiej sobie odpuścić?
#studia #zalesie #programowanie
  • AdBl0k
  • Cronox
  • 7
8tab
8tab
8tab 13.10.2018, 19:01:39
  • 5
@Pierrdonauta: to normalne. Nie odpuszczaj.
  • briskmann
  • konto usunięte
  • Kokil
  • Tom_Ja
  • mroznykasztan
t.....l
t.....l
konto usunięte 08.03.2018, 13:50:13
  • 7
A co tam tak chowacie? ( ͡° ͜ʖ ͡° )つ──☆*:・゚

#f1
t.....l - A co tam tak chowacie? ( ͡° ͜ʖ ͡° )つ──☆*:・゚

#f1
  • przyzwoity
  • 8tab
  • rotten_roach
  • Gjt1337
  • ManTaQue
  • +2 innych
  • 3
8tab
8tab
8tab 08.03.2018, 14:04:22
  • 0
@the_white_crystal: hypersofty?
bielu000
bielu000
bielu000
03.03.2018, 21:59:10
  • 1
Dlaczego kiedy używam (w CLion) trybu debug to sum ma zawsze taką samą wartość, a kiedy zwykłe Run to różną za każdym razem? Jakieś śmieci gdzieś w pamięci?

https://pastebin.com/8LYNWFdq

#programowanie #cpp
  • Cronox
  • 11
8tab
8tab
8tab 06.03.2018, 23:14:09
  • 1
@bielu000: ten przykład ze strony binarytides.com działa ponieważ oni w pętli od licznika odejmują 2: nbytes-=2;
U Ciebie też to mogłoby zadziałać jakbyś miał:
for(int i = 0; i < sizeof(struct pseudo_header)/sizeof(*ptr); i++).
Ale od początku.
sizeof(struct pseudo_header) zwraca Ci rozmiar struktury w bajtach (w Twoim przypadku jest to 36). Ale ponieważ ptr to jest wskaźnik na unsigned short, to w pętli "skakałeś" co dwa bajty (taki ma rozmiar unsigned
  • pepepanpatryk
8tab
8tab
8tab 10.03.2018, 12:08:02
  • 0
Zastanawia mnie jeszcze taka rzecz. Skoro można czytać z pamięci po 2 bajty na raz, to dlaczego nie po np. 4?

Będzie jeszcze szybciej.


@bielu000: dokładnie, będzie szybciej ale musisz upewnić się że rozmiar struktury będzie podzielny przez 4.
  • <
  • 1
  • 2
  • 3
  • 4
  • 5
  • 15
  • Strona 2 z 15
  • >

Osiągnięcia

  • Rocznica
    od 24.10.2022

    Rocznica
  • Gadżeciarz
    od 25.12.2014

    Gadżeciarz

Wykop © 2005-2023

  • Nowy Wykop
  • O nas
  • Reklama
  • FAQ
  • Kontakt
  • Regulamin
  • Polityka prywatności i cookies
  • Hity
  • Ranking
  • Osiągnięcia
  • więcej

RSS

  • Wykopane
  • Wykopalisko
  • Komentowane
  • Ustawienia prywatności

Wykop.pl

Podróże

Gospodarka

Ukraina

Technologia

Motoryzacja

Sport

Rozrywka

Informacje

Ciekawostki