Zaloguj się, aby obserwować  
UthersonL

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

1812 postów w tym temacie

Słuchajcie, chciałbym stworzyć "żartobliwą" aplikację, która kieruje użytkownika na wybraną stronę www. Coś jak np. IE strona główna. Chciałbym, aby ta aplikacja nie wywoływała żadnych szkód, i kierowała użytkownika na np. stronę gram.pl .
Prosiłbym o kod w języku C++, bez tych badziewi początkowych i końcowych, chodzi mi konkretnie o funkcję, która wykona powyższe zadanie.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Po co tyle procedur?
nie prościej coś takiego:

PROGRAM zadanie;
USES CRT;

VAR
x,i:integer;

BEGIN
clrscr;
writeln(''autor:PP'');
write(''podaj x: ''); readln(x);
FOR i:=0 TO 99 DO begin
if i mod 5 = 0 then writeln; //co 5 wynikow stawia enter
write(x*x,'','');
x:=x+1;
end;

readln;
END.

?

Pomijając to, Twoim problemem jest
write(a*a=c,'','');
powinno być samo a*a, bo a*a=c to warunek logiczny, który w tym przypadku nie jest prawdą więc wypisuje FALSE (jakby a*a było = c to napisze TRUE)
I ten halt; na końcu jest zbędny.

PS: cenzura pierwsza klasa xD

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 17.01.2010 o 22:01, Vicot napisał:

Po co tyle procedur?
nie prościej coś takiego:

Tak już się nauczyłem. Lubię mieć wszytko pięknie uporządkowane.
Problem sam później rozwiązałem, ale dzięki za chęci. ;)

Dnia 17.01.2010 o 22:01, Vicot napisał:

PS: cenzura pierwsza klasa xD


No właśnie zaczynamy Pascala xD

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Poprzednie done. Napisze mi ktoś prosty skrypt przez nano w terminalu liczący w bin/bash liczący iloczyn od n=1 do n=2 ((-1)^n * 2^(n+1)) ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Hej, niedawno zacząłem się uczyć pascala. Chciałem sobie trochę poćwiczyć, ale pod koniec się zatrzymałem i nie mogę znaleźć rozwiązania. Część o którą mi chodzi wygląda w skrócie tak:

write(''podaj nick: '');
readln(''nick'');
if (nick=''A'') or (nick=''a'') then writeln(''blabla'');
if (nick=''B'') or (nick=''b'') then writeln(''pleple'') else
Begin
writeln(''error, program zamknie sie za 5 sekund'');
delay(5000);
halt;
End;

Chcę żeby program po w wpisaniu A lub a wypisał blabla a po wpisaniu B lub b wypisał pleple. Po wpisaniu czegoś innego program powinien wyświetlić komunikat o błędzie i zamknąć się. O ile po wpisaniu B lub b jest ok to po wpisaniu A lub a wyświetla się blabla a potem komunikat o błędzie a potem program się wyłącza.
Proszę o pomoc.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dnia 16.02.2010 o 20:45, krl_krl napisał:

if (nick=''B'') or (nick=''b'') then writeln(''pleple'') else

Problemem wydaje się być ta linika, a konkretnie else. Jeśli nick nie jest równy B lub b to wtedy wykonuje się właśnie else (przy A lub a też). części z błędem powinieneś raczej dorobić osobnego if-a uwzględniającego obie "poprawne" wartości, ew dodać enda do już obecnych if-ów

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 16.02.2010 o 21:51, S1G napisał:

części z błędem powinieneś raczej dorobić osobnego if-a
uwzględniającego obie "poprawne" wartości,

Próbowałem to zrobić jednak nie wiem jak zapisać że coś się nie równa, nie mogłem tez tego znaleźć.

Dnia 16.02.2010 o 21:51, S1G napisał:

ew dodać enda do już obecnych if-ów

Czyli co? Niestety nie rozumiem.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

or znaczy tyle co lub czyli if (nick=''A'') or (nick=''a'') or (nick=''B'') or (nick=''b'') then nick=nick else

Begin
writeln(''error, program zamknie sie za 5 sekund'');
delay(5000);
halt;
End;

powinno zostać bez problemu przyjęte i działać jak trzeba

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dzięki wielkie, co prawda nick=nick nie działało ale nakierowało mnie to na rozwiązanie.
if (nick=''A'') or (nick=''a'') or (nick=''B'') or (nick=''b'') then write('''') else procedure1;
Śmiga.
btw wiesz może jak włączyć fullscreena we free pascalu?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Witam. Wierze, że jesteście kozaki w programowaniu i mam prośbę.
Zróbcie mi skrypt restartujący router Pentagram Cerberus P6331-41 + WiFi i przy tym zmieniając adres IP na inny.
Jeżeli nie umiecie to podajcie tu instrukcje jak to zrobić. Przeszukałem net, robiłem skrypty i nic nie działa...

pzdr

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Witam

Chcialbym poprosic o pomoc przy programie Free Pascal. Mianowicie mam zrobic program ktory bedzie przeliczal liczby dziesietne na binarde. Wartosc z dzielenia na bym zapisana w tablicy a wynik podawany od tylu.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 01.03.2010 o 20:31, Pawciu45 napisał:

Chciałbym się dowiedzieć jak Do programu napisanym w TURBO Pascalu dodać moduł (moduł już mam).

Jeżeli masz Turbo Pascala, to pod F1 znajdziesz help. Pod Shift-F1 indeks słów.
Jeżeli pamiętam, to moduły dołączało się poleceniem "uses".
Np. uses nazwa_modułu1, nazwa_modułu2;
Należało jej użyć przed sekcją zmiennych (var).

Udostępnij ten post


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

Chcialbym poprosic o pomoc przy programie Free Pascal. Mianowicie mam zrobic program
ktory bedzie przeliczal liczby dziesietne na binarde. Wartosc z dzielenia na bym zapisana
w tablicy a wynik podawany od tylu.


Program jakiśtam;
var
i, liczba:integer;
cyfra: array[0..15] of char;
start: boolean;
begin
{nadanie liczbie wartości}
{...}
for i := 0 to 15 do
begin
{ wartość najmniej znaczącego bita zamieniana na znak 0/1 }
cyfra[ i ] := Chr( Ord(''0'') + (liczba and 1) );
liczba := liczba shr 1; { kolejny bit na pozycji najmniej znaczącej }
end
start := false; { odrzucaj początkowe zera }

Write(''Liczba binarnie: '');
for i := 15 downto 0 do
begin
if not start and cyfra[ i ] = ''1'' then start := true;
if start then Write(cyfra[ i ]);
end

end.

Użyte zostały operacje binarne shr i and ponieważ liczby w komputerze są już w postaci binarnej. Postać dziesiętna jest specjalnie dla nas konwertowana z binarnej i wyświetlana na ekranie.
Można to też zamienić na operacje matematyczne ponieważ
(liczba and 1), to to samo co (liczba mod 2), a
(liczba shr 1), to to samo co (liczba div 2).

Pisałem z głowy, więc jakieś literówki mogą być, a i na początku ominąłem nadanie (wczytanie) wartości zmiennej liczba, ale z tym sobie już chyba poradzisz.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

C, C++

Mam pytanie odnośnie konwertowania liczb z systemu dziesiętnego na ósemkowy itd. Chcę aby moja tablica (na razie powiedzmy intów) pokazywała mi w pętli swoje kolejne elementy przełożone z systemu dziesiętnego na ósemkowy.

Tu jest taki oto przykład: http://cplusplus.com/reference/iostream/manipulators/oct/

I rzecz w tym, że tylko tak bezpośrednio przekazaną wartość da się przekształcić z jednego systemu liczbowego na drugi. Chyba, że czegoś nie umiem- co jest bardziej prawdopodobne jeżeli chodzi o C, C++ ;). Chodzi mi o to, że jak zastąpię n np. tab[3], gdzie tab oczywiście wcześniej zadeklarowane i zdefiniowane (np. tab[3]={1,2,3}) to w każdym wywołaniu, pomimo ustawionych manipulatorów, wyświetla mi wartość w systemie dziesiętnym. To samo się dzieje kiedy chcę wywołać element tablicy przez wskaźnik.

Dla rozwiania wątpliwości o co mi kaman. Taki jest przykład:


int main () {
int n;
n=70;
cout << oct << n << endl; //Wyswietla 106
cout << dec << n << endl; //Wyświetla 70
cout << hex << n << endl; //Wyświetla 46
return 0;
}

A ja chcę tak:


int main () {
int tab[3]={1,2,3};
cout << oct << tab[2] << endl; //Wyświetla 3 (a powinno być w systemie ósemkowym)
cout << dec << tab[2] << endl; //Wyświetla 3 (tu akurat się zgadza...)
cout << hex << tab[2] << endl; //Wyświetla 3 (a powinno być w systemie szesnastkowym)
return 0;
}

I jak zrobić żeby toto działało... Byłbym wdzięczny za szybką odpowiedź i w miarę możliwości na nie zjeżdżanie mnie. :P

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 11.03.2010 o 16:07, ThimGrim napisał:

I jak zrobić żeby toto działało... Byłbym wdzięczny za szybką odpowiedź i w miarę możliwości
na nie zjeżdżanie mnie. :P


Ale aż się prosisz. ;)
Przecież toto działa poprawnie. 3 (wartość) w każdym z tych systemów to po prostu ''3''.
Jak do tablicy wpiszesz liczby większe od 15, to zrozumiesz.

Udostępnij ten post


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

Ale aż się prosisz. ;)
Przecież toto działa poprawnie. 3 (wartość) w każdym z tych systemów to po prostu ''3''.
Jak do tablicy wpiszesz liczby większe od 15, to zrozumiesz.


:P. OKej, okej. Czaję. Ale jak to zrobić dla floatów? :P

Bo rzecz w tym, że mam tablicę, która musi być we floatach- i najpierw wyświetlana w syst. dziesiątkowym z różnymi parametrami wyświetlania (scientific, fixed, gdzieśtam przesunięta z width itd.). A później mam: "Zaproponuj konwersje wprowadzonych licz do postaci ósemkowej oraz szesnastkowej."

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Aha. Już widzę, że mogę przesłać komórki tablicy na floatach do tablicy na intach i wtedy działa ale kompilator pisze:

"conversion from ''float'' to ''int'', possible loss of data"

Ale wszystko się kompiluje...

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

/.../

Bo czepia się zmiany rozmiaru zmiennych na mniejszy (z 4 do, domyślnie, 2 bajtów). Gdy w pierwszej, floatowej, tablicy będziesz miał wartości większe od zakresu int powstaną błędy - utrata tych wartości (czyli najprawdopodobniej "wywalenie się" programu). Może, gdybyś pokazał mi cały kod, znalazłbym jakieś inne rozwiązanie. :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

OKej, to może najpierw lista zadań (i odnośnie tego pogrubionego to nie wiem czy o to chodziło bo nie załapałem...)

1. Napisz program, który wczyta kilka liczb rzeczywistych do tablicy TAB
(tworzonej dynamicznie, rozmiar podawany przez użytkownika), a następnie
wyprowadzi te liczby w wyrównanej kolumnie. W programie kontroluj, aby
zadany rozmiar nie przekroczył maksymalnego, który jest zadany przez
użytkownika (MAX)
.
2. Zredaguj precyzję wprowadzanych liczb tak, aby była zależna od życzenia
użytkownika.
3. Sformatuj wyprowadzane liczby tak, aby miały one jednakową zadaną liczbę
cyfr po kropce oraz aby kropki dziesiętne były pisane w jednej kolumnie.
4. Wyprowadzaj każdą liczbę dwukrotnie: w notacji zwykłej i naukowej, np. w
postaci
TAB[5] = 3.20 3.20E+00
5. Zaproponuj konwersje wprowadzonych licz do postaci ósemkowej oraz
szesnastkowej.

A teraz kod:

#include "stdafx.h"
#include <iostream>
#include <iomanip>
using namespace std;

void main()

{
int i,j,k,l,max,rozmiar,cyfry,element;

cout<<"Podaj maksymalny rozmiar tablicy: "<<endl;
cin>>max;

do

{
cout<<"Podaj rozmiar Twojej tablicy: "<<endl;

cin>>rozmiar;
if(rozmiar>max)
cout<<"Podany rozmiar przekracza rozmiar maksymalny"<<endl<<endl;

}

while(rozmiar>max);

cout<<"Podaj wyswietlana dokladnosc: "<<endl;
cin>>cyfry;

float *tab=new float [rozmiar];

int *tabb=new int [rozmiar];

for(i=0;i<=rozmiar;i++)

{

cout<<"Wpisz "<<i<<" element tablicy"<<endl;

cin>>tab[ i ];

}

cout<<"Twoja tablica [notacja zwykla] [notacja naukowa]: "<<setprecision(cyfry)<<endl<<endl;

for(j=0,k=0;k,j<=rozmiar;j++,k++)

{

cout.width(30);
cout.setf(ios::fixed, ios::floatfield);
cout<<right<<oct<<tab[j];
cout.setf(ios::scientific, ios::floatfield);
cout.setf(ios::uppercase);
cout.width(20);
cout<<right<<tab[k]<<endl<<endl;

}

cout<<"Twoja tablica w systemie osemkowym: "<<endl;

for(l=0;l<=rozmiar;l++)

{

tabb[l]=tab[l];
cout<<right<<oct<<tabb[l]<<endl<<endl;

}

cout<<"Twoja tablica w systemie szesnastkowym: "<<endl;

for(l=0;l<=rozmiar;l++)

{

tabb[l]=tab[l];
cout<<right<<hex<<tabb[l]<<endl<<endl;

}

cout.setf(0, ios::basefield);

cout<<"Rozmiar Twojej tablicy: "<<rozmiar*sizeof(tab)<<endl<<endl;


system("pause");

}

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ć