Алексей Ивахненко
Алексей Ивахненко

Для чего нужно SIZE, Sizeof и как этим пользоваться? С++

Задача такая:
Составить подпрограмму
определения числа одинаковых целых чисел k в серии длиной больше L в одномерном массиве X = (х1,
х2, ..хn). Используя ее, найти серию s максимальной длины в массиве Х = [1, 0, 0, 0, 1, 1,
1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1].

Здесь вроде как нужно использовать size.

Поможете? Программу написал без size и выдает не совсем то, что надо.

Вот программа:

#include

int main()

{ const int r= 19;

char X[r] = { 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1 };

int i, L, S1= 0, S0= 0;

for(i=0; i< r;)

{

L= 0;

while( X[i]== 0)

{ L++;

i++;}

if(L > S0)

S0= L;

L= 0;

while(X[i]== 1)

{ L++;

i++;}

if(L > S1 )

S1= L;

}

cout<< "S1"<< S1<
cout<< "S0"<< S0<
return 0;

}
Выдает 5, 3

ER
Einherjar Russland

Результат оператора sizeof имеет тип size_t, целочисленный тип, определенный во включаемом файле stddef.h. Он позволяет избежать жесткого прописывания размеров данных, которые часто зависят от платформы. Например:
int x[] = { 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1 }; // размер массива не задан явно
size_t size = sizeof(x) / sizeof(int); // здесь размер вычисляется
for (int i = 0; i < size; ++i) cout << x[i]; // здесь используется

ЯА
Яна Абашина

Чо за SIZE я хз. sizeof возвращает значение типа size_t число байт, которое требуется в памяти переменной типа переданного аргументом. Каким макаром можно sizeof применить к твоей задаче - ума не приложу, ты, скорее всего, не туда смотришь.

АМ
Антон Мазухин

Что бы определить размер (в байтах) переменной.
====================
#include
using namespace std;

int main(){

int X[] = {1, 0, 0, 0, 1, 1,
1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1};
int s,k,counter,max,size;
max = 0;
counter = 1;

size = sizeof(X)/sizeof(int);

for(int i(1); i < size; i++){
if(X[i] == X[i-1]) counter++;
else counter = 1;
if(counter > max) { max = counter; k = X[i]; }
}

for(int i(1); i < size; i++) cout << X[i] << ' ';
cout << endl;
cout << "k = " << k << endl;
cout << "max = " << max << endl;

system("pause > nul");
return 0;
}

Похожие вопросы
где в фотошопе CS4 кнопка Use Sample Size (Использовать размер образца)? =) =)
Как правильно этим пользоваться?
42 размер женской обуви, это какой? Standard Size или какой?
(*handle).size++; // E2109 Not an allowed type (несколько ошибок в последней функции)
как сделать в moz-background-size, чтоб картинка была на весь экран?
Я пишу moz- background - size : 100 % 100% ; , а картинка мелкая. И так только в опере и мозиле
Я знаю, это глупо, но я не умею пользоваться фотошопом ((
Кто-нибудь знает, как зовут эту модель plus-size? Если это вообще модель)
подскажите, пожайлуста, какой программой нужно пользоваться, чтом чтоб пользоваться монтажом видио
Что такое Memory size 2048 ?