Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Одномерные массивы. Способы заполнения массива




Оператор Do while. Пример задачи.

Рассмотрим цикл с постусловием- оператор do while:

а).Формат оператора имеет вид:

do инструкция

while (выражение);

 


# include <iostream> // post_uslovie

# include <cmath>

using namespace std;

int main() {

int n;

double s,x,a,eps;

cout<<" vvedite x,eps:";

cin>>x>>eps;

s=0;

n=1;

do {a=1/pow(x,n);

s=s+a;

n+=1;

}while (fabs(a)<eps);

cout<<"\n s=" << s<< "\n";





одномерный массив

(найти сумму отриц-х элем-в массива):

# include <iostream>

using namespace std;

int main() {

const int n=10;

int i;

int a[n]={1,1,1,1,1,1,1,1,1,1};

float otr=0;

for (i=0;i<=n-1,a[i]<0;i++){

otr+=a[i];

}

cout <<"\n summa otr-h el-v="<<otr<<"\n";

return 0;

}

одномерный динамический массив

(найти сумму отриц-х элем-в массива-):

# include <iostream>

using namespace std;

int main() {

int i,n;

cout<<"vvedite kol-vo elementov:";

cin>>n;

int *a=new int[n];

float otr=0;

for (i=0;i<=n-1;i++) {

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

cin>>a[i];

}

for (i=0;i<=n-1,a[i]<0;i++) {

otr+=a[i];

}

cout <<"\n summa otr-h el-v="<<otr<<"\n";

return 0;

}

 

Способы:

 

Способ 1. Инициализация при описании массива

 

Если ничего не засылать в массив перед началом работы с ним, то внешние, статические и автоматические массивы инициализируются для числовых типов нулем и '\0' (null) для символьных типов. Если в статическом, внешнем или автоматическом массиве нам нужны первоначальные значения, отличные от нуля, то язык С/С++ позволяет сделать это следующим образом:

 

/* дни месяца */int days[12]={31,28,31,30,31,30,31,31,30,31,30,31};int main(){ int index; for(index = 0; index<12; index++) printf("Месяц %d имеет %d дней.\n", index+1, days[index]); return 0;}

 

Количество элементов в списке инициализации должно соответствовать размеру массива. Если список меньше размера массива, то элементы массива, на которых не хватило списка, будут забиты нулями. Если же список больше массива, то компилятор выдаст синтаксическую ошибку.

 

Способ 2. Инициализация присваиванием

Заполнить одномерный массив элементами, отвечающими следующему соотношению:

a0=1; a1=1; ai=ai-2+ai-1 (i = 2, 3,..., N-1).

 

#define N 10

 

int main()

{

int A[N];

int i;

 

A[0] = 1;

A[1] = 1;

for (i=2; i<N; i++)

A[i]:= A[i-1] + A[i-2];

 

// далее - обработка

return 0;

}

 

 

Способ 3. Инициализация путем ввода с клавиатуры

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

 

#include <stdio.h>

#define N 5

 

int main()

{

float A[N];

int i;

 

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

{

printf("Введите %d-й элемент массива: ", i);

scanf("%f", &A[i]);

}

 

// Обработка массива

 

return 0;




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


Дата добавления: 2015-04-24; Просмотров: 870; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.