- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
template<typename T>void mescolare(T array1[], T array2[])
{
int size_array = sizeof(array1)/sizeof(array1[0])-1;
srand(time(0));
int fg;
int *zer=new int[size_array];
for(int d=0;d<=size_array;d++)
{
fg = rand()%size_array;
for(int v=0;v<=size_array;v++)
{
if(zer[v]==fg){
zer[v]=fg;
fg = rand()%size_array;
}else{
zer[v]=fg;
break;
}
}
array2[d]=array1[fg];
}
}
вообще, очень странная запись
int size_array = sizeof(array1)/sizeof(array1[0])-1;
массив состоит из N элементов,
цикл обращается к N+1 элементам.
#include <iostream>
using std::cout;
void f (int arr[]) {
cout << "Arr: " << arr << " Arr[0]: " << arr[0] << std::endl;
cout << "Sizeof Arr: " << sizeof(arr) << " sizeof Arr[0]: " << sizeof(arr[0]) << std::endl;
}
int main() {
int test[] = { 5, 6, 7, 8, 10, 13};
f(test);
}
Вывод:
Arr: 0xbfae88b4 Arr[0]: 5
Sizeof Arr: 4 sizeof Arr[0]: 4
Ну, на 32х битной ОС будет указатель всегда 4 байта.
#include <iostream>
using std::cout;
void f (int arr[]) {
cout << "Arr: " << arr << " Arr[0]: " << arr[0] << std::endl;
cout << "Sizeof Arr: " << sizeof(arr) << " sizeof Arr[0]: " << sizeof(arr[0]) << std::endl;
cout << "Wrong size: " << (sizeof(arr) / sizeof(arr[0])) << std::endl;
}
int main() {
int test[] = { 5, 6, 7, 8, 10, 13};
cout << "Real size: " << sizeof test / sizeof test[0] << std::endl;
f(test);
}
Вывод:
Real size: 6
Arr: 0xbfe2ece4 Arr[0]: 5
Sizeof Arr: 4 sizeof Arr[0]: 4
Wrong size: 1
см. ничего не говорящие названия переменных, странные названия счетчиков, уже упомянутое отсутствие delete
Школота об этом не знает. X-!
Правильно?
Нет.
>"Size of array is " << N
N - кол-во элементов массива.
Но я как раз и имел в виду количество элементов массива. В исходном гк именно это пытались получить строкой int size_array = sizeof(array1)/sizeof(array1[0])-1;
Одно дело написать это в говнокоде в названии переменной, а другое исправить говнокод, повторив ошибки.
может быть, это черта национального характера? как-то не слышал я особо о крутых итальянских программистах ;)