• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dlaczego powoduje mi błąd

Hosting forpsi easy 1 pln
0 głosów
159 wizyt
pytanie zadane 7 listopada 2016 w C i C++ przez Miszo Bywalec (2,100 p.)

Dlaczego nie wypisuje mi liczb od 0 do 4, tylko mam jakieś fatal error. ;(

 

#include <iostream>
#include <string>
#include <cstdio>
#include <cmath>
#include <conio.h>
#include <time.h> 

using namespace std;



int main()
{
	int *w = new int[5];

	for (int i = 0; i < 5; i++)
	{
		*w = i;
		w++;
		
	}

	for (int i = 0; i < 5; i++)
	{
		cout<<*w;
		w++;

	}

	delete [] w;
	
	
	

	return 0;
}


 

3 odpowiedzi

0 głosów
odpowiedź 7 listopada 2016 przez draghan VIP (106,230 p.)
Po jaką anielkę Ci tyle dołączanych nagłówków? Wystarczy tutaj tylko iostream. I kto Ci pokazał inkrementowanie wskaźnika dla zwykłych operacji tablicowych? To zazwyczaj źle się kończy, czego przykładem jest właśnie Twój post. Użyj notacji indeksowania albo cofaj wskaźnik na początek tablicy po jego przesunięciu.
0 głosów
odpowiedź 7 listopada 2016 przez siof Gaduła (3,560 p.)
Chodzi o to że po pierwszej pętli będziesz już poza pamięcią tablicy w i dlatego się wywala. Możesz to poprawić na 2 sposoby. Pierwszy to przed drugą pętla cofnięcie się aż do początku tablicy (czyli 5 razy). Drugi korzystanie z w[i] zamiast operowania bezpośrednio na wskaźniku.
0 głosów
odpowiedź 7 listopada 2016 przez unknown Nałogowiec (39,560 p.)

 If the pointer passed to the standard library deallocation function was not obtained from the corresponding standard library allocation function, the behavior is undefined

Źródło: http://en.cppreference.com/w/cpp/memory/new/operator_delete

Innymi słowami: nie inkrementuj wskaźnika.

komentarz 7 listopada 2016 przez Miszo Bywalec (2,100 p.)
Tak zostało to przedstawione w kursie Mirosława Zelenta o wskaźnikach. Skoro mam nie inkrementować wskaźnika to jak mam skakać po kolejnych szufladkach tablicy? Po zatym nie nawet co tam jest napisane na tej stronie.
komentarz 7 listopada 2016 przez unknown Nałogowiec (39,560 p.)
cout<<*(w+i);
*(w+i)=i;

Odcinek Zelenta na temat wskaźników powinien zostać usunięty.

komentarz 7 listopada 2016 przez unknown Nałogowiec (39,560 p.)
Możesz użyć jeszcze operatora []

Podobne pytania

0 głosów
1 odpowiedź 319 wizyt
pytanie zadane 4 kwietnia 2019 w C i C++ przez Kaper99 Użytkownik (660 p.)
0 głosów
1 odpowiedź 420 wizyt
pytanie zadane 11 czerwca 2016 w C i C++ przez Sinnley Stary wyjadacz (12,810 p.)

92,129 zapytań

140,788 odpowiedzi

317,814 komentarzy

61,451 pasjonatów

Advent of Code 2023

Top 15 użytkowników

  1. 1886p. - Łukasz Eckert
  2. 1856p. - Dawid128
  3. 1844p. - Marcin Putra
  4. 1844p. - CC PL
  5. 1775p. - Mikbac
  6. 1633p. - rafalszastok
  7. 1562p. - rucin93
  8. 1553p. - sefirek
  9. 1492p. - Adrian Wieprzkowicz
  10. 1456p. - Eryk Andrzejewski
  11. 1444p. - jaroslawroszyk
  12. 1383p. - Rafał Trójniak
  13. 1325p. - Michal Drewniak
  14. 1275p. - dia-Chann
  15. 1272p. - 13NOONE37
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Uwaga - w dniach od 02.12 do 08.12 trwają Mikołajki (książki drukowane mają rabat -35%, ebooki do -45%). Zaś dodatkowy, specjalny kod zniżkowy: HELMIKOLAJ-10 dla naszych Widzów zapewni Wam oszczędność -10zł dla zamówień powyżej 70zł! Warto korzystać!

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...