Страницу Назад
Поискать другие аналоги этой работы
300 Лабораторная работа № 3.ТИПОВЫЕ и БЕСТИПОВЫЕ ПОДПРОГРАММЫ - ФУНКЦИИID: 216544Дата закачки: 05 Марта 2021 Продавец: 1973830311asd (Напишите, если есть вопросы) Посмотреть другие работы этого продавца Тип работы: Работа Лабораторная Сдано в учебном заведении: ******* Не известно Описание: Лабораторная работа № 3 ТИПОВЫЕ и БЕСТИПОВЫЕ ПОДПРОГРАММЫ - ФУНКЦИИ Цель работы: Приобрести навыки разработки и использования функций, разработанных пользователем. Вариант задания Для каждого пункта задания написать подпрограмму-функцию - сформировать матрицу А(NхM); -вывести на экран значения матрицы, расположив каждую строку матрицы на строку экрана; - найти в матрице минимальное отрицательное число; - вычислить суммы отрицательных и положительных элементов отдельно, но в одной функции. Написать функцию (main), вызывающую разработанные вами функции. Блок- схема   Листинг #include <stdio.h> #include <stdlib.h> #include <time.h> int ** make(int n, int m); void print_matrix(int **a, int n, int m); int min_negative(int **a, int n, int m, int *negative); void calc_negative_positive(int **a, int n, int m, int *negative,int *positive); int main() { int **a; int n=3, m=4,i; int negative,positive; srand(time(NULL)); a=make(n,m); print_matrix(a,n,m); if(min_negative(a,n,m,&negative)){ printf("minimum negative number=%d\\n",negative); } else{ printf("Not minimum negative number!\\n"); } calc_negative_positive(a,n,m,&negative,&positive); printf("sum of negative elements=%d\\nsum of positive elements=%d\\n",negative,positive); if(a){ for(i=0;i<n;i++){ if(a){ free(a); } } free(a); } return 0; } int ** make(int n, int m){ int i,j; int **a=malloc(n*sizeof(*a)); for(i=0;i<n;i++){ a=malloc(m*sizeof(a)); for(j=0;j<m; j++){ a[j]=rand()%20-rand()%20; } } return a; } void print_matrix(int **a, int n, int m){ int i,j; for(i=0;i<n;i++){ for(j=0;j<m;j++){ printf("%4d",a[j]); } printf("\\n"); } } int min_negative(int **a, int n, int m, int *negative){ int i,j,flag=0; (*negative)=0; for(i=0;i<n;i++){ for(j=0;j<m;j++){ if(a[j]<0 && (*negative)>a[j]){ (*negative)=a[j]; flag=1; } } } return flag; } void calc_negative_positive(int **a, int n, int m, int *negative,int *positive){ int i,j; (*negative)=0; (*positive)=0; for(i=0;i<n;i++){ for(j=0;j<m;j++){ if(a[j]<0){ (*negative)+=a[j]; } else{ (*positive)+=a[j]; } } } } Итоги работы : Контрольные вопросы 1. Функция - это совокупность объявлений и операторов, обычно предназначенная для решения определенной задачи. Каждая функция должна иметь имя, которое используется для ее объявления, определения и вызова. 2. Каждая функция в языке Си должна быть определена, то есть должны быть указаны: тип возвращаемого значения; имя функции; информация о формальных аргументах; тело функции. 3. Функция всегда возвращает единственное значение. Тип void в качестве возращаемого типа,т.е. указали компилятору, что функция не возвращает никакого значения. 4. При объявлении функции указываются формальные параметры, которые потом используются внутри самой функции. При вызове функции мы используем фактические параметры. Фактическими параметрами могут быть переменные любого подходящего типа или константы. 5. Переменные, объявленные внутри функции, называются локальными. Локальные переменные имеют свои области видимости, этими областями являются функции, в которых объявлены переменные. Таким образом, в разных функциях можно использовать переменные с одинаковыми именами, что в свою очередь очень удобно. Разделение переменных на глобальные и локальные соответствует одному из главных правил программирования, а именно – принципу наименьших привилегий. То есть, переменные, объявленные внутри одной функции, должны быть доступны только для этой функции и ни чему другому, в конце концов, они создавались именно для этой функции. Глобальные переменные объявляются вне тела какой-либо функции, и поэтому область видимости таких переменных распространяется на всю программу. Комментарии: работа выполнена без замечаний,2021г. Размер файла: 52,2 Кбайт Фаил: (.docx) ------------------- Обратите внимание, что преподаватели часто переставляют варианты и меняют исходные данные! Если вы хотите, чтобы работа точно соответствовала, смотрите исходные данные. Если их нет, обратитесь к продавцу или к нам в тех. поддержку. Имейте ввиду, что согласно гарантии возврата средств, мы не возвращаем деньги если вариант окажется не тот. -------------------
Скачано: 3 Коментариев: 0 |
||||
Есть вопросы? Посмотри часто задаваемые вопросы и ответы на них. Опять не то? Мы можем помочь сделать! Некоторые похожие работы:Контрольная работа + Лабораторные работы №1,2,3 по дисциплине: Информатика. Вариант №02Лабораторная работа по информатике № 1,2,3. Вариант № 4. Информатика. Лабораторная работа №3. Вариант 2 (2019) Лабораторные работы №1-3 по дисциплине «Информатика (часть 2)». Вариант №05. Лабораторная работа №3 по дисциплине: Информатика. Вариант 07 Лабораторная работа №3 по дисциплине: Информатика. Вариант 09 Лабораторные работы № 1-3 по дисциплине «Информатика (часть 2-я)». Вариант №09. Ещё искать по базе с такими же ключевыми словами. |
||||
Не можешь найти то что нужно? Мы можем помочь сделать! От 350 руб. за реферат, низкие цены. Спеши, предложение ограничено ! |
Вход в аккаунт:
Страницу Назад
Cодержание / Информатика / Лабораторная работа № 3.ТИПОВЫЕ и БЕСТИПОВЫЕ ПОДПРОГРАММЫ - ФУНКЦИИ
Вход в аккаунт: