[C++] Tablica z liczbami nieparzystymi

MrFreezZ
Użytkownik
Użytkownik
Posty: 1
Rejestracja: 7 lis 2016, o 22:06
Płeć: Mężczyzna
Lokalizacja: Polska

[C++] Tablica z liczbami nieparzystymi

Post autor: MrFreezZ »

Witam mam do napisania program który mówi żeby utworzyć tablicę zawierającą \(\displaystyle{ n}\) liczb całkowitych nieparzystych. Problem w tym że nie wiem jak wypełnić tą tablicę liczbami nieparzystymi. W tym momencie mam napisane tylko tyle ale wywala mi jakieś liczby z kosmosu.

Kod: Zaznacz cały

#include <iostream>
#include <cmath>
#include <math.h>
#include <cstdlib>
#include <ctime>

using namespace std;

int main()
{
    int n;
		cout<<"Podaj ilosc elementow tablicy"<<endl;
			cin>>n;
				int* tab = new int[n];
				
		for(int i=0; i<n; i++)
			cout<<tab[i]<<endl;	
			
		for(int i=0; i<n; i++)
		{
			if(tab[i]%2==1)
				cout<<tab[i]<<endl;
		}	
	system("pause");
	return 0;
}
Co mam zrobić jak to poprawić żeby działało?
Ostatnio zmieniony 8 lis 2016, o 08:11 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Awatar użytkownika
mortan517
Użytkownik
Użytkownik
Posty: 3359
Rejestracja: 6 lis 2011, o 15:38
Płeć: Mężczyzna
Lokalizacja: Krk
Podziękował: 112 razy
Pomógł: 662 razy

[C++] Tablica z liczbami nieparzystymi

Post autor: mortan517 »

Przeczytaj dokładnie o dynamicznym alokowaniu pamięci, bo masz wyciek.
kalwi
Użytkownik
Użytkownik
Posty: 1931
Rejestracja: 29 maja 2009, o 11:58
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 145 razy
Pomógł: 320 razy

[C++] Tablica z liczbami nieparzystymi

Post autor: kalwi »

To raz, a dwa - że ty tej tablicy niczym nie wypełniasz, więc wyświetlają się randomowe liczby z pamięci.
Poza tym:

Kod: Zaznacz cały

#include <cmath>
#include <math.h>
Te dwa to jest jedno i to samo (ale w cpp wybiera się pierwszy wariant).
Po drugie - po co inkludować całą resztę, skoro jedyne co jest potrzebne to wyświetlanie i pobieranie tekstu?

Po trzecie - wyciek pamięci. Jak nie wiesz jak działają tablicę, to za dynamiczne alokowanie pamięci nie bierz się tym bardziej.

Po czwarte - skoro tego nie wiesz, to użyj vectora. Tak jak Bjarne Stroustrup radzi początkującym.

Po piąte - naucz się formatować kod. To jest ważniejsze niż Ci się wydaje.

I po szóste:

Kod: Zaznacz cały

#include <iostream>
#include <vector>

using namespace std;

int main()
{
   int n;
   cout << "Podaj ilosc elementow tablicy" << endl;
   cin >> n;

   vector <int>tab(n);
   for(int i = 0; i < n; ++i)
     tab[i] = 2 * i + 1; 
   for(int i = 0; i < n; ++i)
     cout << tab[i] << endl;         
         
   return 0;
}

Gouranga
Użytkownik
Użytkownik
Posty: 1592
Rejestracja: 16 maja 2013, o 17:56
Płeć: Mężczyzna
Lokalizacja: Trójmiasto
Podziękował: 11 razy
Pomógł: 246 razy

[C++] Tablica z liczbami nieparzystymi

Post autor: Gouranga »

Kod: Zaznacz cały

#include <cstdio>

int main(void){
  printf("Podaj ilosc elementow: ");
  int n;
  scanf("%d", &n);
  int i, tab[n];
  for (i=0; i<n; i++) tab[i] = 2*i+1;
return 0;
}
W treści nie ma mowy o wyświetleniu tablicy, więc to jest najprostszy tworzący tablicę wypełnioną liczbami.
ODPOWIEDZ