Wypełnianie tablicy

0

Jak wypełnić tablice jednowymiarową liczbami losowymi z zakresu 0-10 używając wskaźników?

0

A jak wypełniłbyś taką tablicę nie wykorzystując wskaźników?

4
int tb[16];
for(int *p=tb,*k=p+sizeof(tb)/sizeof(*tb);p<k;++p) *p=rand()%11;
3
#include <iostream>
#include <random>
#include <algorithm>
#include <functional>
using namespace std;

int main() {
    default_random_engine generator;
    uniform_int_distribution<> distro(0, 10);
    int tab[10];
    //w przypadku C-tablicy iteratory są wskaźnikami
    generate(begin(tab), end(tab), bind(distro, generator));
  	
    for(int el: tab){
        cout << el << " ";
    }
    return 0;
}

Ewentualnie pomijając tablicę... kto lubi jednolinijkowce? :D

generate_n(ostream_iterator<int>(cout, " "), 10, bind(uniform_int_distribution<>(0, 10), default_random_engine{}));

http://ideone.com/5FWqHf

0

co to sizeof?

3
int tab[25];
mt19937 gen(random_device{}());
uniform_int_distribution<> dis(0,10);
generate(begin(tab), end(tab), bind(dis, gen));

http://melpon.org/wandbox/permlink/Lj6suVCVnuNkTOFD

2
C1000 napisał(a):

Nie używając wskaźników za pomocą pętli for
Genialne :D
Wiadomo, że za pomocą pętli - pokaż kod, jak Ty byś to zrobić mając za zadanie wypełnić zwyczajną tablicę takimi liczbami losowymi, bez jawnych wskaźników - potem pogadamy, jaka będzie różnica ze wskaźnikami.

1

używając wskaźników?

Nie używając wskaźników

Mam nadzieję, że wystarczy spełnić tylko jeden z tych warunków.

0

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main()
{
srand(time(NULL));

int tab[9];




for(int i=1; i<=10; i++ )
{
tab[i]=rand()%11;

}
 cout<<"tab = ";
 
 for(int i=1; i<=10; i++)
 {
	cout<<tab[i]<<"  ";	
		
		}
 

return 0;

}

3

Masz tu UB, tablice są indeksowane od 0, nie od 1. tab[10] to odniesienie do jedenastego elementu dziesięcioelementowej tablicy.

Edit: po edicie to nawet 11. element 9-elementowej tablicy. Brawo.

3
int tab[9];

Tworzysz w ten sposób tablicę tab o dziewięciu elementach indeksowaną od 0 do 8 (0, 1, 2 ... 8), podczas gdy w pętli odnosisz się do tab[10], czyli długo już poza obszarem tablicy.

0

czyli mam zrobić tab[10] ?

1

Na moment zapomnij o całym tym zadaniu.
Napisz mi program, w którym użytkownik będzie wprowadzał pięć liczb, które będą zapisywane do następnych elementów tablicy.
I tyle - żadnego wyświetlania, żadnego sumowania - tylko tyle, co napisałem.

0

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main()
{
int tab[5];

for(int i=1; i<=5; i++)
{
cout<<"wpisz"<<i<<"liczbe"<<endl;
cin>>tab[i];
cout<<" ";
	
	
	}

return 0;

}

2
#include <iostream>
using namespace std;

struct data{
	static constexpr int good_value = 12345678;
	int tab[5];
	int good = good_value;
};

int main() {
	data dat;
	for(int i = 1; i <= 5; ++i){
		cin >> dat.tab[i];
	}
	cout << (dat.good == data::good_value? "Spoczko" : "Powodzenia przy debugowaniu") << endl;
	return 0;
}

http://ideone.com/dgpEX7

1 2 3 4 5
Powodzenia przy debugowaniu

Zrób sobie przysługę, zapomnij o zwykłych tablicach i używaj std::array, używając metody .at() zamiast operatora indeksowania []

2

Nie tam bardziej się podoba to: http://ideone.com/gbv1zS

#include <iostream>
using namespace std;
 
int main() 
  {
   int size=5,tab[5];
   for(int i=0;i<=size;++i)
     {
      tab[i]=i+1;
      cout<<i<<endl;
     }
   return 0;
  }
0

A jak do tego użyć wskaźników ?

1

Dostałeś odpowiedź 10 godzin temu: http://4programmers.net/Forum/1228170

0
C1000 napisał(a):

Nie używając wskaźników za pomocą pętli for

To w końcu ze wskaźnikami czy bez?

0

a czemu koniecznie potrzebujesz tam wskaźniki?

0
Niikelion napisał(a):

a czemu koniecznie potrzebujesz tam wskaźniki?

Pewnie je pokochał i nie może bez nich żyć :)

0

Dokładnie tak :D

0

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main()
{
srand(time(NULL));

int tab[100];
int *w;



for(int i=1; i<=10; i++ )
{
tab[i]=rand()%11;
w=&tab[i];

cout<<endl;
cout<<*w<<endl;
}
 

return 0;

}

0

a może być takie wypełnienie?

3

Indeksuj. Cholero. Od zera.

3

Czy cokolwiek rozumiesz co do ciebie się mówi?
Powiedziano ci na temat kilku błędów - nadał masz z błędami, (poszukaj w tym temacie i popraw)
Podano ci działający kod na wskaźnikach - nadal kombinujesz z indeksami, (poszukaj w tym temacie i przeanalizuj)
Zaczyna mi się wydawać że jakiekolwiek odpowiadanie na twoi posty to bezsensowna strata czasu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1