Добавил:
Лабы/курсовые по программированию (С++/Verilog HDL), Теория и Практика Помехоустойчивого Кодирования Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1сем Дагаев / progr_su_3.ppt
Скачиваний:
10
Добавлен:
09.03.2022
Размер:
379.39 Кб
Скачать

Передача параметра-указателя

void mult2(float* pa)

{

*pa = *pa * 2

}

int main()

{

float num = 15.5; mult2(&num); printf(''%f\n'',num); return 0;

}

Ответ:

31.000

Передача параметра-ссылки

void mult3(float &b)

{

b = b*2;

}

int main()

{

float num = 15.5; mult3(num); printf(''%f\n'',num); return 0;

}

Ответ:

31.000

Пердача в функцию одномерного массива

void MyFunction(int* a, int n);

где a - указатель на начало массива n — количество элементов в массиве

void MyFunction(int a[ ], int n);

где a[ ] - эквивалент обозначению *a n — количество элементов в массиве

Вызов функции: int massiv[6];

MyFunction(massiv, 6);

Задача

Для одномерного массива, содержащего N целых числа, определить, сколько чисел имеют значение в диапазоне от 100 до 10000. Заполнение массива выполнить с помощью генератора случайных чисел. Результат генерации и обработки массива вывести на экран. Заполнение, обработку массива и вывод результатов выполнить с помощью функций пользователя.

Генерация случайных чисел : rand() (stdlib.h)

Запуск генератора случайных чисел: srand() (stdlib.h и time.h)

Генератор случайных чисел

int i, a[5], b[5];

srand(time(NULL)); // Запуск генератора for(i=0; i<5; i++)

{

//Генерация в диапазоне 0 — RAND_MAX

//RAND_MAX = 32767 (stdlib.h) a[i]=rand();

//Генерация в диапазоне 2 - 101 b[i]=rand()%100+2;

}

Решение задачи (1)

#include <stdio.h> #include <stdlib.h> #include <time.h> #define N 30

void generate(int* a, int n); void print_mas(int* a, int n); int count(int* a, int n);

Решение задачи (2)

int main()

{

int mas[N]; generate(mas,N); print_mas(mas,N);

printf("number = %d\n", count(mas,N)); return 0;

}

Решение задачи (3)

void generate(int* a,int n)

{

int i; srand(time(NULL)); for(i=0; i<n; i++)

a[i]=rand();

}

Решение задачи (4)

void print_mas(int* a, int n)

{

int i; for(i=0;i<n;i++)

printf("%7d", *(a+i)); printf("\n");

}

Решение задачи (5)

int count(int* a, int n)

{

int c=0, i; for(i=0;i<n;i++)

if(a[i]>=100 &&a[i]<=10000) c++; return c;

}

Соседние файлы в папке 1сем Дагаев