Zaloguj się, aby obserwować  
UthersonL

Programowanie - pytania, problemy, przykłady programów

1812 postów w tym temacie

Witam. Poleci mi ktoś jakieś źródło wiedzy w nauce Javy pod kątem Androida? Widziałem kilka pozycji (książek), aczkolwiek może ktoś ma pewne doświadczenie.

Pozdrawiam i z góry dziękuję. ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Witam wszystkich. Potrzebuję programu "Borland Delphi 7" do programowania obiektowego. Znalazłem nawet w internecie, ale nigdzie nie mogę znaleźć strony do rejestracji, aby uzyskać klucz (bo podobno jest freeware). Pozdrawiam i mam nadzieję, że ktoś zna ten program i może mi pomóc.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

W wierszu poleceń chcę dodać do zmiennej środowiskowej PATH jeszcze jeden folder. na stałe. problem w tym, że po ponownym uruchomieniu cmd w PATH są znowu tylko domyślne ścieżki a dodanej przeze mnie nie ma. jak ją zapisać po dodaniu tej ścieżki?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Witam, mam problem z napisaniem programu w C.
Program ma pobierać od użytkownika hasło i zapisywać je poziomo jak w krzyżówce. Potem program ma pobierać ze słownika hasło i dopisywać je do krzyżówki na zasadzie:
Hasło kot - tworzy dynamicznie pamięć dla słowa kot
K OWAL pobiera ze słownika słowo na K i alokuje dynamicznie dla niego pamięć.
O RFEUSZ pobiera ze słownika słowo na O i alokuje dynamicznie dla niego pamięć.
T YMON pobiera ze słownika slowo na T i alokuje dynamicznie dla niego pamięć.
Wersja podstawowa programu(czyli taka jaką chce napisać) ma tylko pobrać hasło, alokować dla niego pamięć i alokować dynamicznie pamięć dla pojedynczych liter, efekt ma wyglądać mniej więcej tak:
K
O
T
Mój kod wygląda tak:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
int i, n, m;
char bufor[200];
char bufor2[200];
char *haslo;
char **krzyzowka;
printf("Podaj haslo:\n");
scanf("%s", bufor);
n = strlen(bufor);
haslo = (char *) malloc(n * sizeof(char));
strcpy(haslo,bufor);
printf("%d\n", n);
krzyzowka = (char **) malloc(n * sizeof(char));
for(i=0; i< n; i++)
{
*bufor2= *(haslo+i);
m = strlen(bufor2);
printf("%d\n", m);
*(krzyzowka+i) = (char *) malloc(m * sizeof(char));
strcpy(*(krzyzowka+i),bufor2);
printf("%s\n", *(krzyzowka+i));
free(*(krzyzowka+i));
}
free(krzyzowka);
free(haslo);
return 0;
}

Gdzieś błąd i nie mogę go znaleźć, będę wdzięczny jeśli ktoś mi to poprawi :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dlaczego mam zle ??
program kupa;
var
a,x,d:real;
begin
writeln(''Podaj x: '');
readln(x);
writeln(''Podaj d: '');
readln(d);
a:=x;
repeat


if (a-1) > d then
a:=(a+1)/2

until a>d

ELSE
begin
writeln(''A wynosi: '',a:2:2);
end;

readln();
end.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Potrafi ktos wytlumaczyc dlaczego tak czesto programy pisane w pythonie tak czesto sie wieszaja/sypia pod Windowsem? 2.2, 2.5, 2.6, 2.7, xp32 i win764. Mialem tak m.in. z frets on fire, mam tak czasem z w3af..

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 19.12.2011 o 17:47, Mec1223 napisał:

Dlaczego mam zle ??


Zawsze pisz dlaczego uważasz że źle (zly wynik, błędy kompilacji) i ewentualnie jakiego wyniku oczekujesz.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 21.12.2011 o 23:36, Volvox napisał:

Zawsze pisz dlaczego uważasz że źle (zly wynik, błędy kompilacji) i ewentualnie jakiego
wyniku oczekujesz.


W innym wątku mu odpowiedziałem że moim zdaniem until powinno być po else a nie między else a if.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Napisałem krótki program który wpisuje mi tablicę typu rekordowego do pliku. Niestety do pliku nie zapisują mi się 3 pozycje tylko jedna, ostatnia. Jak zrobić żeby w pliku po 3 przejściach pętli mieć zapisane 3 informacje?

program wspisywaniedopliku

Uses CRT;

type
tpytanie=record
pytanie,a,b,c,d:string[150];
prawidlowa:string[15];
oznaczono:boolean;
end;

var
s:string;
plik:File of tpytanie;
i:integer;
pytania:array[1..3] of tpytanie;

begin
clrscr;
for i:=1 to 3 do
begin
WriteLN(''Podaj pytanie: '');
readLN(s);
pytania.pytanie:=s;
WriteLN(''Podaj odpowiedź a: '');
ReadLN(s);
pytania.a:=s;
WriteLN(''Podaj odpowiedź b: '');
ReadLN(s);
pytania.b:=s;
WriteLN(''Podaj odpowiedź c: '');
ReadLN(s);
pytania.c:=s;
WriteLN(''Podaj odpowiedź d: '');
ReadLN(s);
pytania.d:=s;
WriteLN(''Podaj odpowiedź prawidłową odpowiedź: '');
ReadLN(s);
pytania.prawidlowa:=s;
assign(plik,''dane_rekord.dtb'');
reset(plik);
seek(plik,Filesize(plik)-1);
write(plik,pytania);
close(plik);
end;
end.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Kto zna C++ ?
:)

ZADANIE
Dane są szkielety klas:

class motocykl {/* ... */} M, *wsk_M;
class Honda: public motocykl {/* ... */} H, *wsk_H;
class Ducati: public motocykl {/* ... */} D, *wsk_D;
class Składak: public Honda, public Ducati {/* ... */} S, *wsk_S;

Które z poniższych zestawów są błędne, a które poprawne i dlaczego?
a) M=H; wsk_H=wsk_M;
b) D=M; wsk_D=wsk_M;
c) M=H; wsk_M=wsk_H;
d) H=S; wsk_M=wsk_S;
e) D=H; wsk_H=wsk_S;
f) M=S; wsk_S=&D;


**************

poprawne: a b d

błędne: c e f

??

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Napisz funkcje w Pascalu zwracające min. i max. wartość z dwóch wprowadzonych liczb rzeczywistych. Funkcje nazwać odpowiednio min. i max.... Ktoś może wytłumaczyć co znaczy "... min. i max. wartość z dwóch wprowadzonych liczb..."? Za cholerę tego nie rozumiem. Pomocy!

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

/.../

Normalnie, tworzysz funkcję która jako argument przyjmuje 2 liczby. I funkcja min zwraca mniejszą z nich, z kolei max większa.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 29.02.2012 o 19:05, ziptofaf napisał:

/.../

Normalnie, tworzysz funkcję która jako argument przyjmuje 2 liczby. I funkcja min zwraca
mniejszą z nich, z kolei max większa.


Dzięki, nie myślałem, że to takie banalne :P

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

OK, ze znajomym mamy problem.

Polecenie brzmi mniej więcej tak:

Mamy ciąg wielomianów dany w postaci 1,3;3,4;5,6;1,2 gdzie pierwsza wartość to potęga, druga to współczynnik.
I celem programu jest najzwyczajniej w świecie dodać do siebie współczynniki.

Czyli dla danych:
1,3;2,4;3,5;
1,2;
1,1;
;

Wynikiem powinno być :
1,6;2,4;3,5;
;

; ma być na końcu wejścia i wyjścia.
Nic trudnego. Żeby uzyskać niezłą wydajność skorzystałem z tablicy mieszającej z biblioteki uthash.h ( http://uthash.sourceforge.net/ - normalnie skorzystałbym z jakiegoś unordered_map ale miało to być napisane w zwykłym C). I problem jest taki że mamy jak najbardziej działającą implementację ale za nic nie możemy doprowadzić do tego żeby przeszła przez automatyczny tester. Niestety nie da się nawet sprawdzić gdzie się wywala.
Na razie jedyne co przyszło mi do głowy (a wysłaliśmy już z 5 różnych wersji) to uznanie że tester jest powalony i wywala jako dane wejściowe z milion znaków pod rząd, stąd absurdalny rozmiar dla jednej kolumny sięgający miliona elementów, jeszcze tego nie sprawdzaliśmy czy przejdzie ale zapewne nie.


http://pastebin.com/77EiJgjB - kod źródłowy.

uthash dba o to żebym miał ładną "obudowę" dla sekwencji potęga (będącej przy okazji kluczem)- współczynnik z możliwością wyszukiwania elementów po potędze bądź dodawać nowe.
Gdy program natrafia na nową potęgę to dodaje ją do bazy danych (funkcja add_power) przy kolejnych jej wystąpieniach tylko dodaje współczynniki, służy do tego funkcja add_coefficient. Ma też nie wyświetlać zerowych i niższych potęg ani zerowych współczynników w wyniku końcowym.


I moja prośba brzmi - może ktoś na to zerknąć? Komentarze są, sam kod wydaje się pisany w miarę po ludzku. Z tego co zdołałem stwierdzić to działa poprawnie nawet na absurdalnych danych testowych (np. gdy przekierowałem dane z czegoś takiego do pliku txt i wykorzystałem je jako baza dla napisanej aplikacji):

#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
for (int a=0; a<=40000; a++)
{
cout << "1,1;";
cout << "3,1;";
cout << "9,1;";

}
cout << "\n;";
return 0;
}

Wynikiem było rzecz jasna:
1,40001;3,40001;9,40001;
;

Nie będę ukrywać, od pół dnia szukamy w tej aplikacji jakichś błędów ale nie możemy żadnych znaleźć.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 27.03.2012 o 15:17, Nufiko napisał:

> Jest ktoś w stanie zrobić z tego schemat blokowy?

Coś takiego wystarczy?

dla jasności, to ai i bi to jest a z indeksem i oraz b z indeksem i
i dlaczego jest i=i+1 ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 27.03.2012 o 16:21, Maurycy_69 napisał:

i dlaczego jest i=i+1 ?


i = i + 1 zwiększa wartość zmiennej i o 1 np dla i = 5 : i = 5 + 1 -> i = 6

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 27.03.2012 o 16:26, o_Orange napisał:

> i dlaczego jest i=i+1 ?

i = i + 1 zwiększa wartość zmiennej i o 1 np dla i = 5 : i = 5 + 1 -> i = 6

hmm.. to ja chyba po prostu nie rozumiem treści równania.. mógłbyś mi słowami opisać co ten program ma robić?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Utwórz konto lub zaloguj się, aby skomentować

Musisz być użytkownikiem, aby dodać komentarz

Utwórz konto

Zarejestruj nowe konto na forum. To jest łatwe!


Zarejestruj nowe konto

Zaloguj się

Masz już konto? Zaloguj się.


Zaloguj się
Zaloguj się, aby obserwować