Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: c++ tablice prosba o pomoc
Forum PHP.pl > Inne > Hydepark
aleo
Witam co w tym programie jest zle?
http://wklej.org/id/262294/

prosze o pomoc wstydnis.gif
phpion
Cytat(aleo @ 10.01.2010, 17:56:46 ) *
Witam co w tym programie jest zle?
http://wklej.org/id/262294/

prosze o pomoc wstydnis.gif

Jak dla mnie to wcięcia są źle porobione.
230005
1. Zdaje się, że nie musisz używać .h, wystarczy samo iostream
2. Nie powinno być czasem int main??
3. Jaki właściwie problem występuje?

Edit:

  1.  
  2. #include <iostream>
  3. using namespace std;
  4. int main()
  5.  
  6. {
  7.  
  8. int t[4];
  9. for(int i=0;i<4;i++)
  10. t[i]=100*i;
  11. cout<<"wydruk tresci tablicy: \n";
  12. for(int i=0;i<4;i++)
  13. {
  14. cout <<"element nr:"<<i<<"ma wartosc"<<t[i]<<endl;
  15. }
  16. system ("pause");
  17. return 0;
  18. }
  19.  


Warning był, bo faktycznie nie jest potrzebne .h po iostream - może ktoś mnie poprawić, ale zdaje mi się, że jest to wymagane tylko w c?
Faktycznie powinno być int main, w drugiej pętli należało ponownie zadeklarować licznik, w linii z "element nr:" miałeś dwa ". Do tego wszystkiego doszedłem gdzieś tak w minutę, a ostatni raz w c++ napisałem cokolwiek z dwa lata temu więc wstydź się, że sam nie znalazłeś rozwiązania winksmiley.jpg.
aleo
nie uruchamia się :/
wiewiorek
  1. #include <iostream>
  2. using namespace std;
  3. main()
  4. {
  5.  
  6. int t[4];
  7.  
  8. for(int i=0;i<4;i++) t[i]=100*i;
  9.  
  10. cout<<"wydruk tresci tablicy: \n";
  11.  
  12. for(int i=0;i<4;i++)
  13. {
  14. cout <<"element nr:"<<i<<"ma wartosc"<<t[i]<<endl;
  15.  
  16. }
  17.  
  18. system ("pause");
  19. return 0;
  20.  
  21.  
  22. }


nie iostream.h tylko iostream
w drugiej petli int i
i to czego inni nie zauwazyli czyli - 3 cudzyslowy zamiast dwoch "ma wartosc"" <-- lol biggrin.gif haha

Jaki slodki kotek cool.gif
230005
Jak inni nie zauważyli, jak ja zauważyłem i nawet napisałem smile.gif.
wiewiorek
Fakt, nie zauwazylem tongue.gif
marcio
Cytat
Warning był, bo faktycznie nie jest potrzebne .h po iostream - może ktoś mnie poprawić, ale zdaje mi się, że jest to wymagane tylko w c?
Faktycznie powinno być int main


W C a dokladnie ANSI C(choc jest to tylko standard) iosteram/iostream.h jest zastapiony przez stdio.h czyli input/output z C.

W C++ jak dobrze pamietam przyjelo sie includowanie libow bez rozszerzen wtedy wiadomo ze lib nalezy do C++, gdy jednak jest rozszerzenie *.h lib nalezy do C ktory imho w C++ dziala.

Co do int main() to masz chyba po czesci racje bo glowna funkcja programu powinna zwracac typ int jednak jako void(lub bez w C niektore kompilatory obslugiwaly funkcje bez zwracanego typu jako void jak sie nie myle) tez powinno dzialac jednak nie jestem do konca pewny jak to bylo z main() czy musi on byc int lub moze byc tez void lub inne typy, zreszta jak mnie pamiec nie myli mozna bylo napisac normalnie main() bez zadnego przypisanego typu i tez dzialalo co za tym idzie void powinien dzialac.

Nie jestem pewny do tego co pisze w 100% bo z C nie mam do czynienia od prawie roku wiec jesli napisalem jakies herezje z gory sry.

230005
Cytat
zreszta jak mnie pamiec nie myli mozna bylo napisac normalnie main() bez zadnego przypisanego typu i tez dzialalo co za tym idzie void powinien dzialac


Nie wiem jak jest w innych kompilatorach, ale dev cpp mówi, że main musi zwracać int.
darko
Cytat(230005 @ 12.01.2010, 00:09:31 ) *
Nie wiem jak jest w innych kompilatorach, ale dev cpp mówi, że main musi zwracać int.

E tam, parę lat temu można było dać void main(void) { } i było dobrze, nie wierzę, że teraz jest inaczej.
marcio
Cytat(230005 @ 12.01.2010, 00:09:31 ) *
Nie wiem jak jest w innych kompilatorach, ale dev cpp mówi, że main musi zwracać int.



Cytat(darko @ 12.01.2010, 00:25:56 ) *
E tam, parę lat temu można było dać void main(void) { } i było dobrze, nie wierzę, że teraz jest inaczej.


Tez mi sie tak wydaje ja tam pod dev'em nie pisalem w ogole ale wiem ze w gcc mozna bylo tak zrobic zreszta pod g++ tak samo.


thek
Z tym voidem to zależało od kompilatora. Na pewno Borland to akceptował. Z devem było różnie, w zależności od wersji. Gcc dla odmiany przy C++ wymagał przestrzeni nazw ale z void main reagował ok. Tak więc wszystko tak naprawdę zależy od tego, jakiego kompilatora używasz.
marcio
Czyli jednak dobrze mowilem.

Cytat
Gcc dla odmiany przy C++ wymagał przestrzeni nazw ale z void main reagował ok.


Moglbys rozwinac odpowiedz.

Gcc dla C++?

Nie czasami g++?

Co do przestrzeni nazw w C++(bo w C to chyba nie ma) to chyba wszystkie kompilatory je wymagaja, jednak gdzies wyczytalem ze niektore kompilatory gdy widza:

Kod
#include<iostream.h> // zamiast iostream


Automatycznie wlaczaja przestrzen nazw moze jednak zle przeczytalem albo juz nie pamietam czy tak bylo lub nie wiec prosze mnie poprawic.

Max Damage
Według standardu main zawsze powinno zwracać wartość int. Wartość jest zwraca do systemu operacyjnego i domyślnie jest to 0, co znaczy że wszystko jest ok.
Pierwsze słyszę o kompilatorze który sam dołącza przestrzeń nazw.
Dołączanie przestrzeni nazw na początku nie jest konieczne, trzeba wtedy jednak pamiętać o niej przy użyciu funkcji która jest w niej zdefiniowana, np. std::cout << "wypisz ten tekst" << '\n';
marcio
Cytat
Według standardu main zawsze powinno zwracać wartość int. Wartość jest zwraca do systemu operacyjnego i domyślnie jest to 0, co znaczy że wszystko jest ok.


Rzecz wiadoma 0-1/true-false mozna porownac do funckji zwracajacych true/false w php wiec o tym to nawet nie wspominalem.

Cytat
Dołączanie przestrzeni nazw na początku nie jest konieczne, trzeba wtedy jednak pamiętać o niej przy użyciu funkcji która jest w niej zdefiniowana, np. std::cout << "wypisz ten tekst" << '\n';


Ktos kto chodzby przeczytal pierwsze rozdzialy jakiejkolwiek ksiazki na temat C++ to o tym wie takze tez nie trzeba bylo o tym wspominac.

Cytat
Pierwsze słyszę o kompilatorze który sam dołącza przestrzeń nazw.


Dlatego tez napisalem ze jest to informacja ktora obila mi sie o uszy i ze nie wiem czy jest w 100% PEWNA.

Jednak jestem prawie pewnie ze jakos to szlo zrobic.
Max Damage
@marcio: Mam wrażenie, że trochę się zbulwersowałeś. Niepotrzebnie, ale jak gdzieś cię obraziłem to sorry. A tak uściślając to każda wartość inna niż 0, oznacza błąd.
qutasek
I Wy sie uwazacie za programistow!? Chyba pseudo-programistow!

Cytat
informacja ktora obila mi sie o uszy

Cytat
moze jednak zle przeczytalem albo juz nie pamietam

Cytat
Tez mi sie tak wydaje

Cytat
nie wierzę, że teraz jest inaczej

Cytat
Nie wiem jak jest w innych kompilatorach

Cytat
Nie jestem pewny do tego co pisze w 100%

Cytat
Zdaje się, że nie musisz


Usmialem sie po pachy! A to, ze inni nie biora udzialu w konwersacji tez o czyms swiadczy...
Wkoncu wychodzi na jaw poziom wiedzy uzytkownikow tego forum! HA HA HA

POLAKOM GRATULUJEMY PROGRAMISTOW laugh.gif


Chcesz się bawić w trolla, to pomyliłeś fora. Jeśli nie chcesz podzielić się wiedzą, to lepiej nic nie pisz. Warn i blokada konta.
~batman
qutasek
nie umiesz programowac - nie bierz sie za to.
nie znasz danego jezyka - nie pomagaj w rozwiazaniu danego problemu.

wiekszosc osob na tym forum uwaza sie za nie wiadomo jakich programistow a tak na prawde gowno umiecie
myslisz ze sama znajomosc PHP wystarcza by uwazac sie za programiste? tak? gratuluje
qutasek
A skad wiesz synku ile mam lat? Zbyt smarkaty jestes aby tak do mnie mowic
Znaczna czesc uzytkownikow nie skonczyla nawet gimnazjum, a osoby ktore wspominasz tez jakos nie blyszcza na ich tle. Moze jest kilku uzytkownikow majacych jakies pojecie o PHP. Niemniej jednak i tak ciezko nazwac ich programistami. Wkoncu wyszlo to na jaw!
marcio
Cytat
@marcio: Mam wrażenie, że trochę się zbulwersowałeś. Niepotrzebnie, ale jak gdzieś cię obraziłem to sorry. A tak uściślając to każda wartość inna niż 0, oznacza błąd.


Jesli tak pomyslales to sry wrecz przeciwnie poprostu widzac osobu ktore braly udzial w dyskusji pomyslalem ze takie oczywiste rzeczy juz sa wiadome dlatego tak napisalem.

Co do wartosci != 0 to wiem ze kazda inna zwraca blad jednak wiekszosc(kodow jakie ja widzialem) programistow pisze zawsze return true/false-0/1, stad ten wniosek.

Co do qutaska to zostawmy tego pseudo pro w spokoju wkoncu jestesmy lamerami wiec typ morda klapsie i jak nie pasi szukaj pacholow na innym forum cya.

batman
~qutasek2

Mam dla Ciebie jedną wiadomość:



Oczywiście warn i ban.
l0ud
Wracając do tematu (bo co jak co syf się tutaj zrobił i może jeszcze będzie trwał)...

Nie ma czegoś takiego jak iostream.h dla C. Ten język nie ma masy rzeczy aby zrealizować to w takiej postaci jak w C++. Wersja z końcówką .h to pozostałość po starej implementacji jeszcze przed ustandaryzowaniem. W tej chwili (w gcc) jest to tylko dołączenie właściwego iostream i wejście w przestrzenie nazw tak, aby przypominało to starą implementację. Zresztą wystarczy spojrzeć jak ten plik wygląda:

Kod
// Copyright (C) 1997-1999, 2000 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library.  This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.

// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING.  If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.

// As a special exception, you may use this file as part of a free software
// library without restriction.  Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License.  This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.

#ifndef _BACKWARD_IOSTREAM_H
#define _BACKWARD_IOSTREAM_H 1

#include "backward_warning.h"
#include <iostream>

using std::iostream;
using std::ostream;
using std::istream;
using std::ios;
using std::streambuf;

using std::cout;
using std::cin;
using std::cerr;
using std::clog;
#ifdef _GLIBCXX_USE_WCHAR_T
using std::wcout;
using std::wcin;
using std::wcerr;
using std::wclog;
#endif

using std::ws;
using std::endl;
using std::ends;
using std::flush;

#endif

// Local Variables:
// mode:C++
// End:


Zdaje się że w visualu nie ma już nawet takiego pliku. Zdecydowanie nie powinno się więc już go stosować winksmiley.jpg

Co do void main() { } bądź samego main() { } sprawa wygląda podobnie: nawet jak gdzieś jeszcze coś takiego działa nie ma powodu, aby tak robić smile.gif
marcio
Cytat
Nie ma czegoś takiego jak iostream.h dla C


Jesli jest to odp na moja odp to ja mowilem ze w C iostream/*.h nie ma bo go zastepuje defaultowy input/output stdio.h.

Cytat
Co do void main() { } bądź samego main() { } sprawa wygląda podobnie: nawet jak gdzieś jeszcze coś takiego działa nie ma powodu, aby tak robić


loud racja wiele rzeczy nie powinno sie robic jak widac duzo osob jeszcze popelnia takie bledy co nie znacza ze sa bledami samymi w sobie skoro rozwiazanie dziala to musi byc jakis powod smile.gif.

Cytat
Wersja z końcówką .h to pozostałość po starej implementacji jeszcze przed ustandaryzowaniem


Tez o tym wspomnialem biggrin.gif

Tak ogolnie fajnie by bylo jakby ktos usunol posty qutaska.




darko
Cytat(zegarek84 @ 12.01.2010, 18:24:45 ) *
nie zauważyliście, że on w swoich oczach urusł winksmiley.jpg - najpierw kutasek, potem kutasek2 a teraz chujman winksmiley.jpg

smile.gif dokładnie.
~qutasek, ~qutasek2, ~chujman czy jak tam się jeszcze za 10 minut nazwiesz proponuję załóż sobie osobny temat w hydeparku i tam pokaż jaki jesteś pro, super dorosły kozak-programator, który miażdży wiedzą wszystkich na tym forum, i którego racja jest najbardziej słuszna. Jakie to forum jest be, jacy tu gówniarze się wypowiadają, pytają, odpowiadają i moderują i jak to z polskimi programistami jest słabo. Może znajdzie się ktoś, kto podetrze nosek winksmiley.jpg ale nie zaśmiecaj tutaj czyjegoś wątku. To taka moja i myślę, że nie tylko moja maleńka prośba.
// edit
~aleo sorki za śmietnik z wątku, ale czasem się trafi taki... i aż ręce opadają. Zaraz pousuwam swoje posty, to się trochę czyściej zrobi.
Cysiaczek
@belliash - nikogo twoje "opinie" nie obchodzą - idź swojej wolności szukać w innym serwisie.
l0ud
Nie zostałeś zbanowany od razu. Poza tym nie 'wszelka krytyka', a trollowanie jest niemile widziane. Bo jedyne co zrobiłeś to pojechałeś po całym forum bez jakiejkolwiek kultury i też wiedzy (nie wykazałeś żadnego błędu). Jeżeli jesteś takim super programistom to to pokaż, bo na razie po postach wiemy jedynie że zachowujesz się jak troll...

Cytat
chujman

i masz dość niską samoocenę tongue.gif
thek
Cytat(marcio @ 12.01.2010, 13:52:10 ) *
Gcc dla C++?
Nie czasami g++?

W linuxie kompilacja w linii komend jest obsługiwana przez komendę gcc. Stąd też takiego nazewnictwa użyłem. A napisałem w odróznieniu od, gdyż porównywałem to do wspomnianych wcześniej kompilatorów.

A osoby jak ten "meteor" najlepiej gdy tylko przez forum przemkną winksmiley.jpg Kulturą bowiem nie zdążą "zarazić". Zresztą czy osoba dorosła, dojrzała się tak zachowuje? Z takimi osobami najlepsze są bezpośrednie konfrontacje pod kątem wiedzy w dziedzinie, w której się tak przechwalają. Zazwyczaj się okazuje, że tylko usłyszały parę terminów i myślą, że zabłysną, a gdy nie mają dostępu do google to okazuje się, że są na poziomie podstawówki i wyłażą elementarne braki w wykształceniu. A skąd JA wiem że to osoba poniżej 18 lat? Osoba starsza nie pozwoliła by sobie na rażące byki w tak krótkim poście. Dla mnie to nastoletni troll, który chce coś zwojować. A że nie potrafi inaczej niż próbą wyśmiania to tak robi, myśląc, że kogoś skłóci. Tylko że jako małolat nie wie jednego. Dorosłe osoby mogą się nie zgadzać z czymś, ale nie znaczy to, że sobie z tego powodu do gardeł od razu skoczą bo "wsadził kij w mrowisko" smile.gif A przynajmniej tak mniema. Zacytuję więc pewien tekst z polskiego starego filmu:

"Biedne dziecko... Co oni Ci zrobili?"
marcio
Cytat
W linuxie kompilacja w linii komend jest obsługiwana przez komendę gcc. Stąd też takiego nazewnictwa użyłem. A napisałem w odróznieniu od, gdyż porównywałem to do wspomnianych wcześniej kompilatorów.


Ah racja sorki smile.gif

Co do tego "pana" jak by byl taki madry wykazal by swoja wiedze w tym temaciem nie zrobil tego nic innego tez nie pokazal wiec nie o czym gadac dziecko neo o tyle.

Pozdro dla wszystkich.

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.