Вывод одномерных массивов

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

Пример 3.

/*Генерация целочисленного массива числами с клавиатуры и вывод массива в строку*/

#include <stdio.h>

#define max 20

void gen (int k,int *pp);//прототип функции генерации массива

void out (int k,int x[max]);//прототип функции вывода массива

 

void main (){

int a[max],n,*p;

do {

printf("\nВведите количество элементов массива n

(n<=20): ");

scanf ("%d",&n);

}

while (n>max); //проверка выхода за границы массива

p=a;

gen(n,p);

out(n,a);

}

 

//Описание функции генерации массива с клавиатуры

void gen(int k,int *pp){

/*передача указателя как параметра позволяет вернуть

сформированный массив в основную программу*/

int i;

printf("\nВведите значения %d элементов массива: \n",k);

for (i=0;i<k;i++){

printf("x[%d]= ",i);

scanf("%d",pp++);

}

}

 

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

void out (int k,int x[max]){

int i;

printf("\nВывод значений %d элементов массива в строку:

\n",k);

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

printf("%d\t",x[i]);

}

 

Пример 4.

/*Описание функции генерации массива значениями элементов

арифметической прогрессии*/

void gen(int k,int x[max]) {

//прототип функции генерации массива

int i,d;

printf ("\nВведите нулевой элемент прогрессии: ");

scanf("%d",x[0]);

printf ("\nВведите разность прогрессии: ");

scanf("%d",&d);

for (i=1;i<k;i++)

x[i]=x[i-1]+d;

}

 

Пример 5.

//Описание функции вывода массива в столбец

void out (int k,int x[max]){

int i;

printf("\nВывод значений %d элементов массива в столбец:

\n",k);

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

printf("x[%i]= %d\n",i,x[i]);

}

 

Пример 6.

Для использования функции генерации случайных чисел random(х), которая формирует последовательность псевдослучайных чисел на промежутке [0,х), необходимо подключить библиотеку <time.h>.

Для написания кода генерации массива случайными целыми числами используется:

1. Функция srand(). Синтаксис:

void srand(unsigned seed);

– функция устанавливает свой аргумент как основу (seed) для новой последовательности псевдослучайных целых чисел, возвращаемых функцией rand(). Сформированную последовательность можно воспроизвести. Для этого необходимо вызвать srand() с соответствующей величиной seed.

Для использования данной функции необходимо подключить библиотечный файл <stdlib.h>.

2. Функция rand(). Синтаксис:

int rand(void);

– функция возвращает псевдослучайное число в диапазоне от нуля до RAND_MAX. Для использования данной функции необходимо подключить библиотечный файл <stdlib.h>.

3. Константа RAND_MAX определяет максимальное значение случайного числа, которое может быть возвращено функцией rand(). Значение RAND_MAX = 32767.

/*Описание функции генерации массива случайными целыми числами на[a,b)*/

void gen(int k,int a, int b, int x[max]){

int i;

srand(time(NULL)*1000);

//устанавливает начальную точку генерации случайных чисел

for (i=0;i<k;i++){

x[i]=(rand()*1.0/(RAND_MAX)*(b-a)+a);

//функция генерации случайных чисел на [a,b)

}

}

 

Задания

1.Наберите коды программ из Примера 3. Выполните компиляцию и запуск программы.

2.Объявите одномерный целочисленный массив, в котором не более 50 элементов. Выполните генерацию массива случайными целыми числами количеством n (n<=50) из промежутка [a; b). Выведите массив на экран в строку. Оформите генерацию и ввод массива с помощью функций.

3.Объявите одномерный вещественный массив, в котором 10 элементов. Выполните генерацию массива, используя закономерность: 0; 0,1; 0,12; 0,123,… Выведите массив на экран в столбик. Оформите генерацию и ввод массива с помощью функций.

4.Объявите одномерный целочисленный массив, в котором 15 элементов. Выполните генерацию массива первыми 15 числами Фибоначчи. Выведите массив на экран в строку. Оформите генерацию и ввод массива с помощью функций.

Домашние задания

1.Наберите коды программ из Примеров 1 и 2 . Выполните компиляцию и запуск программ.

2.Даны два натуральных числа a и b (a<b). Объявите одномерный целочисленный массив, в котором 10 элементов. Выполните генерацию массива первыми десятью цифрами дробной части частного a / b. Выведите массив на экран в столбец. Оформите генерацию и ввод массива с помощью функций. Например, для a=7, b=23 значениями элементов массива будут числа: 3 0 4 3 4 7 8 2 6 0.

3.Объявите одномерный целочисленный массив, в котором не более 100 элементов. Выполните генерацию массива первыми 100 простыми числами. Выведите массив на экран в строку (или в строки по 10 элементов в каждой). Оформите генерацию и ввод массива с помощью функций.









Дата добавления: 2015-02-16; просмотров: 1627;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.014 сек.