Zaloguj się, aby obserwować  
Bartuc

Język C / C++ / C# / Java - pytania, problemy...

1979 postów w tym temacie

Okazało się, że dodatkowe zmienne nie są niezbędne.

#include <iostream>
#include <conio.h>
using namespace std;

int main()
{
int n;
cout<<"Podaj zakres\n";
cin>>n;
for (int i = 2; i <= n; i++)
{
for (int j = 2; j <= i; j++)
if ((i%j==0) && (i!=j))
break;
else if (i==j)
cout<<i<<", ";
}
getch();
}

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Wielkie dzięki za pomoc. Wezmę się za to i jak będę miał pytania to będę tu pisał. Dzięki jeszcze raz. Z liczbami pierwszymi zrobiłem podobnie :) miałem to na spr z infy.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 17.10.2005 o 17:07, Vel Grozny napisał:

Kod wyszedł nie najgorzej, choć brakuje ostrych nawiasów przy includach. Olo, jak to zrobiłeś, że u Ciebie są?

Hehehe. Ordynarnie skopiowałem z edytora. :) Rozumiem, że nadal nie daje się ich wprowadzić? To sprawdzę od razu.

Test: klamry { } kwadratowe [ ] kątowe < > Koniec.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 17.10.2005 o 16:25, Hopeless napisał:

(Delphi 4 Standart) żadnych błędw nie wyłapał, ale nie byłem zadowolony. Czemu?
Bo procesor nie był zupełnym ,,trupem" i poradził sobie z tym wszystkim jednocześnie.

Hehe. Tak to jest jak się nie poczyta podręcznika. :)

Dnia 17.10.2005 o 16:25, Hopeless napisał:

Ograniczenia techniczne pokonały mnie. Poddałem się.

A wystarczyło poczytać. Nauka programowania dla początkującego obecnie jest trudniejsza bo na języki obiektowe nakłada się zdarzeniowa obsługa systemu operacyjnego (z interfejsem obiektowym bądż nieobiektowym). Jak się to razem połączy - dość trudno jest zrozumieć dlaczego to wszystko jest takie pochromolone. ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 17.10.2005 o 18:14, Olamagato napisał:

Hehehe.
Ordynarnie skopiowałem z edytora. :) Rozumiem, że nadal nie daje się ich wprowadzić? To sprawdzę od razu.

No, u mnie też się okazało, że działają - w drugim poście po skopiowaniu z edytora :)
W pierwszym najprawdopodobniej zwyczajnie... zapomniałem (pisałem od razu w oknie), a potem ich brak wydał mi się dziwny :) Zawsze to lepiej zwalić na forum, niż na sklerozę, co nie? :P

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 17.10.2005 o 18:37, Yamamoto napisał:

Mam do was pytanko. Kończe turbo pascal''''em. Jaki mam wybrać następny język? Szykuje się na C++. Dobry wybór? Prosze o rade.
Pozdro!

Dobry. A czemu? Cóż - jest popularny i dość wygodny. Choć jak się pisze w WinAPI to mnie zawsze złości, że wszystkie przykłady są w czystym C.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

----> Olamagato
Jaki podręcznik? Do nauki programowania? Wybacz, ale nie rozumiem, odnośnie jakiego faktu to napisałeś.
Wiesz, Delphi nie jest takie złe - w każdym razie, lepsze niż programowanie obiektowe niewizualne np. w takim TPW 1.5.
A tak jeszcze odnosząc się do mojego wyczynu - ile potrzebowałbym takiego kodu, żeby do takiego samego stanu doprowadzić swój obecny procesor (2,4 GHz) i ile liczyłby plik wykonywalny?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 17.10.2005 o 19:44, Hopeless napisał:

Jaki podręcznik? Do nauki programowania? Wybacz, ale nie rozumiem, odnośnie jakiego faktu to napisałeś.

Podejrzewam, że chodzi o Win32 Api Reference http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winprog/winprog/windows_api_reference.asp
Niestety, do dziś nie znalazłem wersji off-line, choć podobno istnieje. Żadne google mi nie pomogły.

Dnia 17.10.2005 o 19:44, Hopeless napisał:

Wiesz,
Delphi nie jest takie złe - w każdym razie, lepsze niż programowanie obiektowe niewizualne np. w takim TPW 1.5.

Ja tam się bawię w Dev C++ Win API i programy okienkowe mimo wszystko wychodzą :) I tak często się nie obejdzie bez utworzenia jakiegoś obiektu ręcznie. No, bo skąd wiadomo, ile będzie potrzebnych, dajmy na to, pól w saperze? A po co tworzyć je na zapas?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 17.10.2005 o 20:54, Vel Grozny napisał:


Acha. Poczytam, może znajdę jakieś wartościowe informacje.

Dnia 17.10.2005 o 20:54, Vel Grozny napisał:

Niestety, do dziś nie znalazłem wersji off-line, choć podobno istnieje. Żadne google mi nie pomogły.


Może któraś z przeglądarek pozwala na ,,zapisywanie" na dysk całej strony wraz z podstronkami, ew. zapisać wszystkie po kolei i samemu poskładać to do kupy. Ale sporo byłoby z tym roboty, więc chyba nie warto.

Dnia 17.10.2005 o 20:54, Vel Grozny napisał:

Ja tam się bawię
w Dev C++ Win API i programy okienkowe mimo wszystko wychodzą :) I tak często się nie obejdzie bez utworzenia jakiegoś obiektu
ręcznie. No, bo skąd wiadomo, ile będzie potrzebnych, dajmy na to, pól w saperze? A po co tworzyć je na zapas?


Niby jest w tym racja, ale z programowaniem obiektowym jest od groma roboty (mam tu na myśli niewizualne) i kiedy poczułem, że jednak nie warto bawić się ,,martwym" językiem, wróciłem do starego, dobrego Delphi. A skoro zamierzam po gim. wybrać się do jakiejś dobrej politechniki informatycznej, to w pierwszym roku i tak do Pascala się wraca. Co jest z materiałem potem - nie wiem, ale podejrzewam, że potem na uczelniach jest coś z którejś odmiany C.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Co do twojego posta: http://www.gram.pl/forum_post.asp?tid=529&pid=19
Nie wiem czemu, ale w kompilatorze wyskakuje błąd coś jest nie tak z linią:

Dnia 17.10.2005 o 17:05, Vel Grozny napisał:

ifstream wejscie ("wejscie.txt");


Nie brakuje tu czasem jakiś nawiasów czy klamr?
Błąd jest typu:
variable '' std::ifstream wejscie'' has initializer but incomplete type

Czy czasem nie muszę najpierw zdeklarować wjescie jako zmienna wielo znakowa*?

BTW: Jak się deklaruje zmienną, która zawiera wiele znaków? Wiem, że do pojedyńczego znaku wystarczy char.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 19.10.2005 o 21:38, Don Lizak napisał:

BTW: Jak się deklaruje zmienną, która zawiera wiele znaków? Wiem,
że do pojedyńczego znaku wystarczy char.


Możesz zadeklarować string (ale w .net musisz też dać include<string> ) - to jest proste, i łatwe i wogóle i działa jak pojedyńcza zmienna, czyli jak w javie.

Albo - to dla hardcoreowców możesz zadeklarować array charakcterów (char a[]) i tam zapodać swój tekst. Ale wtedy aby skopiować z jednej do drugiej zmiennej musisz użyć na przykłąd string copy, a nie porównać:
ogólnie na stringach robisz tak np:

string a="costam";
string b;
a=b
itd.

na arrayach robisz

char a[20]="blablabla;
char b[2];
strcopy(a,b);

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Tylko na stringach nie deklarujesz maksymalnej liczby znaków, za to jak deklarujesz array - sam wiesz :) - więc musisz zdecydowaćile znaków potrzebujesz (ja w przykładzie dałem 20)

W przedostatniej linijce tam jest b[2] = to oczywiście za mało żeby zmieścić blablabla i wyskoczy błąd - ucieło mi się zero powinno być b[20].

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 19.10.2005 o 21:38, Don Lizak napisał:

Nie brakuje tu czasem jakiś nawiasów czy klamr?
Błąd
jest typu:
variable '' std::ifstream wejscie'' has initializer but incomplete type

Standardowa odpowiedź - dziwne, u mnie działa (nie sprawdzałem, czy dobrze, ale się kompiluje bez sprzeciwu).
Może nie dodałeś tych ostrych nawiasów przy includeach? <>

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 19.10.2005 o 21:38, Don Lizak napisał:

Co do twojego posta: http://www.gram.pl/forum_post.asp?tid=529&pid=19
Nie wiem czemu, ale w kompilatorze wyskakuje błąd
coś jest nie tak z linią:

> ifstream wejscie ("wejscie.txt");

Nie brakuje tu czasem jakiś nawiasów czy klamr?
Błąd
jest typu:
variable '' std::ifstream wejscie'' has initializer but incomplete type
...


Wiem, że to raczej oczywiste, ale upewnij się, że plik wejscie.txt jest w tym samym katalogu, w którym kompilator umieszcza exeka programu - takie rzeczy potrafią każdemu umknąć ;).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 20.10.2005 o 12:56, Blackhand napisał:

Wiem, że to raczej oczywiste, ale upewnij się, że plik wejscie.txt jest w tym samym katalogu, w którym
kompilator umieszcza exeka programu - takie rzeczy potrafią każdemu umknąć ;).

To jest niepotrzebne - u mnie tak nie było, a skompilowało się. Chodzi o kompilację, nie o poprawne działanie. Można skompilować program, który będzie na dzień dobry wywalał błąd. (W WinAPI bardzo łatwe).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 20.10.2005 o 12:56, Blackhand napisał:

Wiem, że to raczej oczywiste, ale upewnij się, że plik wejscie.txt jest w tym samym katalogu, w którym
kompilator umieszcza exeka programu - takie rzeczy potrafią każdemu umknąć ;).


Poza tym, co powiedział Vel Grozny, plik wejscie.txt powinien być umieszcznony w miejscu, gdzie ten exek jest uruchamiany, a to nie zawsze oznacza miejsce, w którym znajduje się sam plik.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 20.10.2005 o 18:20, Vel Grozny napisał:

Vel Grozny: Może nie dodałeś tych ostrych nawiasów przy includeach? <>

Dodałem.
Już wszystkodziała. Nie wiem czemu było źle wtedy. Dzięki za pomoc

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ć