raVVal
-
Postów
66 -
Dołączył
-
Ostatnia wizyta
Typ zawartości
Profile
Forum
Wydarzenia
Odpowiedzi opublikowane przez raVVal
-
-
1/4 * ( ~0 + ~1 + ~1 + ~1 ) = 3/4 ;) .
spróbuję z flaotami!
-
Czy to może być wina wypisywania w konsoli
cout<<Tesco.tendencja()
-
http://www.wolframalpha.com/input/?i=%28+8...%2F53+%29+%2F+4
Hmm.. Czy tablica prevSell[] jest typu int?
Tak, int!
-
to pierwsze (0.75) to tendencja a reszta to tablica na której pracuję.
-
Edit: Znalazłem możliwą przyczynę. Sprawdzasz element bieżący, a następnego już nie . Jeśli następny ma wartość -1, wyniki mogą być nieciekawe.
nistety tablice na których eksperymenuje nie mają -1
-
Albo jestem ślepy, albo tam nie ma błędu. Podaj przykładowe dane wejścia i wyjścia.
TO SAMO POWIEDZIAŁEM!
Z danymi to jest tak pobierane są metody sprzedającej, ale napisałem komende żeby zobaczyć to wszystko
show_tendence 0.75 82 83 61 58 53
z konsoli tekst.
-
To to:
Ile elementów dodajesz ;) ? Dla i=0 => element pierwszy, dla i=1 => element drugi, dla i=2 => element trzeci, dla i=3 => element czwarty. I koniec ;) . Przecież 4 nie jest mniejsze od 4.
Pozdrawiam.
prevSell[i]/prevSell[i+1];
Otóż: ostatnie 'i' = 3 czyli prevSell[3]/prevSell[4] Wszystko się zgadza.
-
Piszę mały eksperyment ekonomiczny. W klasie Shop znajduje się metoda float tendencja() ma za zadanie na podstawie tablicy liczb obliczyć średni stosunek kolejnych liczb do następnej(1/2; 2/3; 3/4 itd.).
Oto ona:
float tendencja() { float suma = 0; //suma wszystkich stosunków for(int i=0; i<4; i++) //tablica jest 5-elementowa więc będą 4 stosunki { if(prevSell[i] == -1) // w konstruktorze zamiast zerować tbice nadałem wszystkim elementom -1; {break;} //do tablicy (jescze w innej metodzie) dodawane są elementy do indeksu zero wypychając inne //Dlatego sprawdzam czy element nie jest równy -1. else { suma += prevSell[i]/prevSell[i+1]; //dodaję kolejne stosunki } } return suma/4; //zwracam średnią czyli sumę przez ilość(4) }
PROBLEM: wynik jest niepoprawny!
Liczę to kalkulatorem i się nie zgadza. Poza tym gdy elementy są rosnące to wartość jest mniejsza od 1!! O co chodzi!
Proszę o pomoc!
-
Działa. :) Wielkie dzięki!
-
Eddie, gdzie mam zrobić ten pierwszy kod? Step czy kolizja?
Ma być:
if global.skrypt_on = 0
CZY
if global.skrypt_on == 0
-
Prosty problem:
Mam dwa identyczne obiekty, ich instancje zderzają się. Chcę uruchomić skrypt podając w argumenty id tych instancji. Ustawiłem uruchamianie skryptu w kolizji w danym obiekcie.
I: nie wiem jak podać id obu obiektów.
II: pomyślałem, że wstawiając w kolizje to skrypt uruchomi się 2 razy bo zarówno zderza się instancja I z II jak i II z I.
Taki mały problemik...
-
Niestety, pająk za każdym razem pojawia mi się po za ekranem. Widzę tylko część jego pajęczyny, ale z pomysł 8/5.
-
Megatutorial - dzięki niemu zacząłem programować.
Zastanawiać się...? Z moimi umiejętnościami może w ogóle nie zauważę błędu. Może kiedyś powiem "aaaaaaaa" to tu był błąd.
-
Dziękuję wszystkim za pomoc, ale ja się poddaję. Wezmę się za coś prostszego a przedewszystkim za naukę.
-
Rzeczywiście powinno być bez na 2, ale wtedy wywala błąd.
-
#include <string> const std::string GDstd = "GADERYPOLUKIÓŁgaderypolukiół"; std::string translateLC(std::string* a, std::string* code); std::string translateLC(std::string a, std::string code) { // Przygotowanie klucza. std::string bufor; std::string * I = new std::string[(code.size())/2]; std::string * II = new std::string[(code.size())/2]; for (unsigned int i = 0; i < code.size()/2; i += 2) { I[i] = code[i]; II[i+1] = code[i+1]; } // Zamiana znak po znaku. for (unsigned int i=0; i < a.size(); i+=1) { bufor = a[i]; for (unsigned int l=0; l < code.size()/2; l+=1) { if (bufor == I[l]) { a.erase(l, 1); a.insert(l, II[l]); } else if (bufor == II[l]) { a.erase(l, 1); a.insert(l, I[l]); } } } delete [] I; delete [] II; return a; }
tak wygląda teraz biblioteka, nie pojawiają się żadne błędy, ale nie tłumaczy tekstu kiedy wpisałbym: "Rafał" powinno wyjść "Rgfgó" a tak się nie dzieje
-
Poprawiłem to, ale nie zamienia wcale wyrazu ja już nie wiem co z tym jest nie tak!
-
Rzeczywiście nie pojawia się błąd, niestety nie pojawia się również nic innego aplikacja nic nie robi zawiesza się jakby.
-
Właśnie tak zrobiłem dalej ten błąd. A i dla jasności to nie błąd który pojawia się w kompilatorze tylko podczas działania programu. Dokładniej kiedy wpiszę to co ma przetłumaczyć czyli praktycznie w momencie uruchomienia funkcji. Zatrzymuje się na
I[i] = code[i];
-
W którym momencie mam zwolnić pamięć? Na końcu funkcji?
-
"unhandled exception at 0x5fb1766d in j.exe: 0xC0000005: Access violation writing location 0xabababab" mówi ci to coś?
-
Po pierwszę nie ma tego w kodzie, po drugie jaki błąd?
Podałem jak teraz wygląda.
a błąd to taki w messagebox'ie po wpisani słowa do przetłumaczenia róne napisy i dziwne liczby coś unhandled exception
-
Teraz wszystko wygląda tak.
LC.h
#include <string> const std::string GDstd = "GADERYPOLUKIÓŁgaderypolukiół"; std::string translateLC(std::string a, std::string code); std::string translateLC(std::string a, std::string code) { // Przygotowanie klucza. std::string bufor; std::string * I = new std::string[(code.size())/2]; std::string * II = new std::string[(code.size())/2]; for (unsigned int i = 0; i <= code.size()/2; i += 2) { I[i] = code[i]; II[i+1] = code[i+1]; } // Zamiana znak po znaku. for (unsigned int i=0; i <= a.size(); i+=1) { bufor = a[i]; for (unsigned int l=0; l <= code.size()/2; i++) { if (bufor == I[l]) { a.erase(l, 1); a.insert(l, II[l]); break; } else if (bufor == II[l]) { a.erase(l, 1); a.insert(l, I[l]); break; } } } return a; }
main.cpp
#include <iostream> #include <conio.h> #include "LC.h" int main() { std::string napis; std::cin>>napis; std::cout<<translateLC(napis, GDstd)<<std::endl; getch(); return 0; }
-
Zatrzymuje się na:
GMLI = code;( sorry że to nie tak jak napisałem w temacie ale właśnie zauważyłem że to tak powinno być)
Funkcja licząca tendencję.
w C, C++
Opublikowano
DZIAŁA! DZIĘKI, DZIĘKI!! DZIęki
3post + 2post po raz kolejny. Nie uczysz się na błędach więc warn + 20% oraz blokada na 5 dni - Uzjel