Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.


Wiadomości - amd

Strony: [1] 2
1
Cytuj
na południe, Kraków,
Jak się uda to super ;]. Na pewno na coś takiego znalazł bym czas.
Lerhes

Ja również mam nadzieję że uda się zorganizować takie warsztaty w Krakowie

2
C++ / Odp: Długość tablicy intów w c++
« dnia: Październik 04, 2010, 17:16:07 »
Masz jakiś arbitralny dokument, i żeby się go trzymać popełniasz przekazywanie przez zmienną globalną? O co chodzi? Myślałem że to jakiś challenge na studiach, a nie życiowy problem...

Liosan
Jest to coś co mnie zaciekawiło w związku z zadaniem które miałem w pracy do zrobienia.

Założenia mówiły że nie ma możliwości zmiany parametrów wejsciowych i wyjsciowych funkcji
Więc nie może ona przyjąc nic i nie może zwrócic nic poza int *
Założenie również mówi aby nie ruszać w żaden sposób zwracanej tablicy (wiec nie moge dodac pola w którym przechowywałbym jej długość )

Rozwiązanie jakie znależliśmy to nie było dodanie zmiennej globalnej ale coś bardzo podobnego
W związku że nie lubie nie wiedzieć trywialnych rzeczy w c to próbowałem znależć inne rozwiązanie(jednak widocznie problem nie jest tak trywialny jak na pierwszy rzut okiem wygląda)

A nie możesz zająć miejsca na n + 1 elementów jako p, ustawić wskaźnik na tablicę na p + x, a pod p wpisać n? Wtedy w funkcji sumującej odczytasz rozmiar z p - x.

x to rozmiar elementu, sizeof(int) w tym przypadku.
jw. zresztą ten pomysł był jednym z moich pierwszych ,niestety nie spełnia założeń

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void * operator new[](size_t rozmiar) {
        void * _tab = calloc(rozmiar, sizeof(char));
        ((char*)_tab)[rozmiar-1] = 0xff;
        return _tab;
}

int main() {
        srand(time(0));

        int * tab = new int[rand()%100];

        int i = 0;
        while(!tab[i++]);

        printf("sizeof(*tab) = %d\n", i);

        return 0;
}

jeżeli tablica nie będzie miała samych zer(a nie ma) to nie zadziała





3
C++ / Odp: Długość tablicy intów w c++
« dnia: Październik 04, 2010, 16:07:45 »
może ale taka zmienna musi być albo globalna
albo przesyłana jako parametr(tak niestety nie mogę tego zrobić)

4
C++ / Odp: Długość tablicy intów w c++
« dnia: Październik 04, 2010, 15:58:34 »
no akurat nie cwiczeniowiec

takie mam założenia w dokumentacji więc staram się ich trzymać

co do zmiennej globalnej to tak to mam zamiar rozwiązać
ale byłem prawie pewny że nie jest to jedyne rozwiązanie(widocznie się myliłem)

5
C++ / Odp: Długość tablicy intów w c++
« dnia: Październik 04, 2010, 15:40:51 »
Dlaczego nie można uzywać dodatkowych zmiennych?\

Dlatego że ten przykład który dałem to jest uogólnienie problemu który mam
w prawdziwym problemie to wygląda mniejwiecej tak

int* fun()
{
      int* t = new int[rand()%100];
      return t;
{

int main()
{
    sumuj_tablice(fun());
}


i tutaj z góry mam narzucone że funkcja fun nie może miec żadnych parametrów

w sumie znajde spsób żeby to obejść
ale ciężko mi było uwierzyć że w c++ nie ma możliwości na sprawdzenie długości takiej tablicy

6
C++ / Odp: Długość tablicy intów w c++
« dnia: Październik 04, 2010, 13:04:10 »
int main(){
int dw;
int * t = new int[56];
        asm (
              "movl -4(%%esp), %%eax; movl %%eax, %0;"
             :"=r"(dw)        /* output */
             ); 
cout<<dw;
return 0;
}

niestety ale takie coś daje złe wyniki

7
C++ / Odp: Długość tablicy intów w c++
« dnia: Październik 04, 2010, 12:27:01 »
int * t = new int[rand() % 100];
__asm {
   mov eax, [esp - 4]
}
Możesz nie wierzyć, ale w eax wyląduje rozmiar tablicy w bajtach. Podziel go przez 4 i dostaniesz liczbę elementów tablicy.

a mógłbyś mi pomóc
i powiedzieć w jaki sposób skompilowac to pod g++
bo mi w żaden sposób nie chce się to skompilować


8
C++ / Odp: Długość tablicy intów w c++
« dnia: Październik 04, 2010, 11:53:15 »
Wpadłem na pomysł (być może coś takiego nie jest możliwe ale i tak to napiszę :) ):
Kod: (cpp) [Zaznacz]
int suma= 0;
while(*t)
{
    suma+= *t;
    *t++;
}
Coś w tym stylu :)

załozyłeś że kolejny element po końcu tablicy ma wartość 0 a to błędne założenie

9
C++ / Odp: Dugość tablicy intów w c++
« dnia: Październik 04, 2010, 11:35:07 »
Kod: (cpp) [Zaznacz]
int i= rand()%100;
int* t = new int[i];

to rozwiązanie mnie nie satysfakcjonuje
w moim rozwiązaniu nie mogę użyć dodatkowych zmiennych

#define sizeof_array(a) ((sizeof a)/(sizeof a[0]))
to oczywiście nie jest poprawne

10
C++ / Odp: Dugość tablicy intów w c++
« dnia: Październik 04, 2010, 11:19:22 »
Faktycznie mój bład(już poprawiony)

Co do rozwiązania to nie mogę korzystać z  żadnych dodatkowych struktur ani zmiennych.
Więc uzycie vectora odpada.Odpada tez dodatkwoa zmienna zapamiętująca długośc.


to co narazie wymyśliłem jednak wszystkie te rozwiązania sa rozwiązaniami nie spełniającymi założen lub rozwiązaniami na siłe
1)użycie vectora lub innej przez siebie stworzonej struktury
2)dodatkwoy parametr z długością
3)tablica dłuższa o 1 i na pierwszym miejscu podana jej długość
4)skorzystanie z wyjatków(sumuje i licze sobie długośc tablicy i zmieniam wartość tablicy aż nie wywali mi błędu pamięci(tego w sumie nie sprawdzałem))

Ma ktoś może jeszcze jakieś pomysły



11
C++ / Długość tablicy intów w c++
« dnia: Październik 04, 2010, 10:56:39 »
Witam
mam problem z wyznaczeniem długości tablicy w c++
mam taki kod
załóżmy że ktoś gdzieś w kodzie deklaruje i definiuje tablice o losowej ilości elementów
int *t = new int[rand()%100];
//skąd mam wiedzieć jaka jest długość tej tablicy
moim zadaniem jest zsumowac te elementy
tylko jak to zrobić nie wiedząc jaka była długość tablicy przy deklaracji


znalazłem coś takiego (szukałem informacji skąd delete[] wie ile ma usuwać)
http://www.parashift.com/c++-faq-lite/compiler-dependencies.html
case'y 38.7,38.8

jednak w realnym programie w żaden spoób nie mogę czegoś takiego uzyć


Mod.
Bład w składni poprawiony:)


12
C++ / char *t[] vs char **t (5 pytań)
« dnia: Maj 03, 2010, 18:07:42 »
Witam
mam  5 pytań dotyczących takich dwóch linijek kodu

char *t[]
char **t

za wszelkie odpowiedzi z góry dziękuje

1.)
czy te dwa typy różnią się czymś czy są takie same?
biorąc pod uwagę że wiemy iż
char t[] nie jest tym samym co char *t

2.)
korzystając z char t[] można w łatwy sposób dowiedzieć się jaką długość ma nasz łańcuch char'ów wystarczy skorzystać z sizeof();
czy jest jakiś szybki sposób na poznanie długości string'a korzystając z char *t;

3.)
mając taki kod
char *a = "ala";czy napis ala jest składowany na stercie czy na stosie

4.)
wiedząc ze char t[] jest składowane na stosie
czy wszelkie wariacje związane z [] np char *t[] też są składowane na stosie?

5.)
void f(char t[])
{
       cout<<sizeof(t);
}
int main(){
   
   char * t = "al";
   char t1[] = "al";
   cout<<sizeof(t);
   cout<<sizeof(t1);
   f(t);
   f(t1);
}
Wynikiem tego programu będzie
4
3
4
4
Może mi ktoś wytłumaczyć dlaczego gdy najpierw korzystamy z sizeof() w main() otrzymujemy to czego się mogliśmy spodziewać
natomiast po przesłaniu tablicy t1[] do funkcji która za swój parametr przyjmuje tez char t[]
sizeof() wskazuje już 4 bajty czyli tyle ile pokazywałby gdybyśmy mieli do czynienia z char *t;





13
C# / Odp: edycja wielu danych w winforms
« dnia: Marzec 04, 2010, 01:22:46 »
wielkie dzięki
co prawda wcześniej robiłem program korzystający z tego grida ale nie myślałem że można mu pod bindować DataTable

14
C# / edycja wielu danych w winforms
« dnia: Marzec 03, 2010, 23:33:29 »
Mam taki problem
Wczytuje sobie do programu dane z pliku
Dane przedstawiają tablice 30x3 i teraz potrzebuje juz po wczytaniu mieć możliwość łatwej edycji tych danych
Czy istnieje jakiś sposób na zrobienie czegoś na wzór spreadsheet'a z Excela?

Jeżeli nie to co byscie polecili aby można było łatwo takie tabelkowe dane edytować.
Bo pomysł na stworzenie tablicy textboxów chyba nie jest najlepszy(chyba).

15
C# / Odp: Problem z SortedDictionary
« dnia: Luty 25, 2010, 00:28:12 »
faktycznie OrderBy pojawił się po dodaniu bibliotek LINQ
co do zadania to
chodzi o algorytm Johnsona do szeregowanie zadań.
a dokładniej o jak największą jego optymalizacje.
W związku z tym że w tym algorytmie jest p-sortowań w zależności od ilości procesorów pomyślałem że nada się tutaj struktura słownika już posortowanego.

oczywiście wiem że złożoność przejścia i wypisania elementów to już jest O(n)
ale nie chciałbym dorzucać dodatkowego obciążenia

bo z tego co rozumiem SortedDictionary działa tak że wkładając tam elementy są one bezpośrednio sortowane
więc nie chciałbym dodatkowego narzutu w postaci zapytania LINQ które (prawdopodobnie) sortuje sobie samo cała strukturę jeszcze raz


Strony: [1] 2