1. Жұмыстың мақсаты
Зертханалық жұмыстың мақсаты – C++ тілінде көрсеткіштермен жұмыс істеу және адрестік арифметика бойынша практикалық дағдыларды меңгеру.
2. Жұмыстың міндеті
Келесі тақырыптарды меңгеріңіз:
Көрсеткіштер. Терілген көрсеткіштер.
Көрсеткіштер мен массивтер.
Адрес арифметикасы.
Динамикалық жадты бөлу.
3. Жұмыстың мазмұны
1. №5 зертханалық жұмыстың тапсырмасын осындай қосымша шарттармен орындау:
массивтің өлшемі бағдарламаның басында 50 - 200 диапазонындағы кездейсоқ сан ретінде анықталады;
бағдарлама мәтінінде индекстеу операциясын қолдануға тыйым салынады.
int main() { const int N = 200; int A[N]; int max_avg_idx = 0; double max_avg = 0.0;
srand(time(NULL)); // инициализация генератора случайных чисел
// заполнение массива случайными числами for (int i = 0; i < N; i++) { *(A + i) = rand() % 101; }
// поиск непрерывного участка из 10 элементов с наибольшим средним значением for (int i = 0; i <= N-10; i++) { double sum = 0.0; for (int j = i; j < i+10; j++) { sum += *(A + j); } double avg = sum / 10.0; if (avg > max_avg) { max_avg = avg; max_avg_idx = i; } }
// вывод результатов printf("Массив:\n\n"); for (int i = 0; i < N; i++) { printf("%d ", *(A + i)); } printf("\n\nНепрерывный участок из 10 элементов с наибольшим средним значением:\n\n"); for (int i = max_avg_idx; i < max_avg_idx+10; i++) { printf("%d ", *(A + i)); } printf("\n\n");