рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Передача одномерных массивов как параметров функции

Передача одномерных массивов как параметров функции - раздел Программирование, В первом семестре рассматриваются основные конструкции языка си и базовая технология программирования структурное программирование При Использовании Массива Как Параметра Функции, В Функцию Передается Указате...

При использовании массива как параметра функции, в функцию передается указатель на его первый элемент, т. е. массив всегда передается по адресу. При этом теряется информация о количестве элементов в массиве, поэтому размерность массива следует передавать как отдельный параметр. Так как в функцию передается указатель на начало массива (передача по адресу), то массив может быть изменен за счет операторов тела функции.

Пример1:

Удалить из массива все четные элементы

#include <iostream.h>

#include <stdlib.h>

 

int form(int a[100])

{

int n;

cout<<" Enter n";

cin>>n;

 

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

a[i]=rand()%100;

return n;

}

void print(int a[100],int n)

{

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

cout<<a[i]<<" ";

cout<<" ";

}

 

void Dell(int a[100],int&n)

{

int j=0,i,b[100];

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

if(a[i]%2!=0)

{

b[j]=a[i];j++;

}

n=j;

for(i=0;i<n;i++)a[i]=b[i];

 

}

 

void main()

{

int a[100];

int n;

n=form(a);

print(a,n);

Dell(a,n);

print(a,n);

}

Пример 2

Удалить из массива все элементы, совпадающие с первым элементом, используя динамическое выделение памяти.

#include <iostream.h>

#include <stdlib.h>

int* form(int&n)

{

 

cout<<" Enter n";

cin>>n;

int*a=new int[n];//указатель на динамическую область памяти

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

a[i]=rand()%100;

return a;

}

void print(int*a,int n)

{

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

cout<<a[i]<<" ";

cout<<" ";

}

 

int*Dell(int *a,int&n)

{

int k,j,i;

for(k=0,i=0;i<n;i++)

if(a[i]!=a[0])k++;

int*b;

b=new int [k];

for(j=0,i=0;i<n;i++)

if(a[i]!=a[0])

{

b[j]=a[i];j++;

}

n=k;

return b;

}

 

void main()

{

int *a;

int n;

a=form(n);

print(a,n);

a=Dell(a,n);

print(a,n);

}

– Конец работы –

Эта тема принадлежит разделу:

В первом семестре рассматриваются основные конструкции языка си и базовая технология программирования структурное программирование

В первом семестре рассматриваются основные конструкции языка си и базовая технология программирования структурное программирование.. структурное программирование это технология создания программ позволяющая.. компиляторы и интерпретаторы трансляторы бывают..

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Передача одномерных массивов как параметров функции

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Компиляторы и интерпретаторы
С помощью языка программирования создается текст, описывающий ранее составленный алгоритм. Чтобы получить работающую программу, надо этот текст перевести в последовательность команд процессора, что

Языки программирования
Разные типы процессоров имеют разный набор команд. Если язык программирования ориентирован на конкретный тип процессора и учитывает его особенности, то он называется языком программирования низкого

Состав языка
В тексте на любом естественном языке можно выделить четыре основных элемента: символы, слова, словосочетания и предложения. Алгоритмический язык также содержит такие элементы, только слова называют

Тип int
Значениями этого типа являются целые числа. Размер типа int не определяется стандартом, а зависит от компьютера и компилятора. Для 16-разрядного процессора под него отводится 2 байта, для

Тип char
Значениями этого типа являются элементы конечного упорядоченного множества символов. Каждому символу ставится в соответствие число, которое называется кодом символа. Под величину символьного типа о

Типы с плавающей точкой.
Внутреннее представление вещественного числа состоит из 2 частей: мантиссы и порядка. В IBM-совместимых ПК величины типа float занимают 4 байта, из которых один разряд отводится под знак мантиссы,

Переменные
Переменная в СИ++ - именованная область памяти, в которой хранятся данные определенного типа. У переменной есть имя и значение. Имя служит для обращения к области памяти, в которой хранится значени

Выражения
Из констант, переменных, разделителей и знаков операций можно конструировать выражения. Каждое выражение представляет собой правило вычисления нового значения. Если выражение формирует целое или ве

Ввод и вывод данных
В языке Си++ нет встроенных средств ввода и вывода – он осуществляется с помощью функций, типов и объектов, которые находятся в стандартных библиотеках. Существует два основных способа: функции уна

Базовые конструкции структурного программирования
В теории программирования доказано, что программу для решения задачи любой сложности можно составить только из трех структур: линейной, разветвляющейся и циклической. Эти структуры называются базов

Программирование ветвлений
Задача №1. Определить, попадет ли точка с координатами (х, у) в заштрихованную область.   -1 -3   -1   -3

Программирование арифметических циклов.
Для арифметического цикла заранее известно сколько раз выполняется тело цикла. Задача №2 Дана последовательность целых чисел из n элементов. Найти среднее арифметическое этой посл

Итерационные циклы
Для итерационного цикла известно условие выполнения цикла. Задача №5 Дана последовательность целых чисел, за которой следует 0. Найти минимальный элемент этой последовательности.

Вложенные циклы
Задача №7: Напечатать N простых чисел. #include<iostream.h> void main() { int a=1,n,d; cout<<" Enter N"; cin>>n;

Массивы
В языке Си/Си++ ,кроме базовых типов, разрешено вводить и использовать производные типы, полученные на основе базовых. Стандарт языка определяет три способа получения производных типов: -

Обработка одномерных массивов
При работе с массивами очень часто требуется одинаково обработать все элементы или часть элементов массива. Для этого организуется перебор массива. Перебор элементов массива характеризуетс

Перебор массива по одному элементу
Элементы можно перебирать: 1) Слева направо с шагом 1, используя цикл с параметром for(int I=0;I<n;I++){обработка a[I];} 2) Слева направо с шагом отличным от 1, исполь

Найти максимальный элемент массива.
#include<iostream.h> #include<stdlib.h> void main() { int a[100]; int n; cout<<” Enter the size of array:”;cin>>n;

Перебор массива по два элемента
1) Элементы массива можно обрабатывать по два элемента, двигаясь с обеих сторон массива к его середине: int I=0, J=N-1; while( I<J) {обработка a[I] и a[J];I++;J--;} &nb

Сортировка массивов
Сортировка – это процесс перегруппировки заданного множества объектов в некотором установленном порядке. Сортировки массивов подразделяются по быстродействию. Существуют простые методы сор

Сортировка методом простого включения (вставки)
Элементы массива делятся на уже готовую последовательность и исходную. При каждом шаге, начиная с I=2, из исходной последовательности извлекается I-ый элемент и вставляется на нужное место готовой

Сортировка методом простого выбора
Выбирается минимальный элемент массива и меняется местами с первым элементом массива. Затем процесс повторяется с оставшимися элементами и т. д.

Сортировка методом простого обмена
Сравниваются и меняются местами пары элементов, начиная с последнего. В результате самый маленький элемент массива оказывается самым левым элементом массива. Процесс повторяется с оставшимися элеме

Поиск в отсортированном массиве
В отсортированном массиве используется дихотомический (бинарный) поиск. При последовательном поиске требуется в среднем n/2 сравнений, где n – количество элементов в массиве. При дихотомическом пои

Понятии указателя
Указатели являются специальными объектами в программах на Си++. Указатели предназначены для хранения адресов памяти. Пример: Когда компилятор обрабатывает оператор определения переменной,

Динамические переменные
Все переменные, объявленные в программе размещаются в одной непрерывной области памяти, которую называют сегментом данных (64К). Такие переменные не меняют своего размера в ходе выполнения программ

Одномерные массивы и указатели
При определении массива ему выделяется память. После этого имя массива воспринимается как константный указатель того типа, к которому относятся элементы массива. Исключением является использовании

Многомерные массивы и указатели
Многомерный массив это массив, элементами которого служат массивы. Например, массив с описанием int a[4][5] – это массив из 4 указателей типа int*, которые содержат адреса одномерных массивов из 5

Динамические массивы
Операция new при использовании с массивами имеет следующий формат: new тип_массива Такая операция выделяет для размещения массива участок динамической памяти соответствующего разм

Объявление и определение функций
Функция – это именованная последовательность описаний и операторов, выполняющая законченное действие, например, формирование массива, печать массива и т. д. Функция, во-первых, является од

Прототип функции
Для того, чтобы к функции можно было обратиться, в том же файле должно находиться определение или описание функции (прототип). double line(double x1,double y1,double x2,double y2);

Параметры функции
Основным способом обмена информацией между вызываемой и вызывающей функциями является механизм параметров. Существует два способа передачи параметров в функцию: по адресу и по значению.

Локальные и глобальные переменные
Переменные, которые используются внутри данной функции, называются локальными. Память для них выделяется в стеке, поэтому после окончания работы функции они удаляются из памяти. Нельзя возвращать у

Передача строк в качестве параметров функций
Строки при передаче в функции могут передаваться как одномерные массивы типа char или как указатели типа char*. В отличие от обычных массивов в функции не указывается длина строки, т. к. в конце ст

Передача многомерных массивов в функцию
При передаче многомерных массивов в функцию все размерности должны передаваться в качестве параметров. По определению многомерные массивы в Си и СИ++ не существуют. Если мы описываем массив с неско

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги