Массивы

Вложенные циклы

Итерационные циклы

Программирование арифметических циклов.

Для арифметического цикла заранее известно сколько раз выполняется тело цикла.

Задача №2

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

#include <iostream.h>

#include <math.h>

void main()

{

int a,n,i,k=0;

double s=0;

cout<<"\nEnter n";

cin>>n;

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

{

cout<<"\nEnter a";

cin>>a;

s+=a;k++;

}

s=s/k;

cout<<"\nSr. arifm="<<s<<"\n";

}

 

Тесты

N
A 1,2,3,4,5,3
S

 

Задача №3

S=1+2+3+4+. . . +N

#include <iostream.h>

#include <math.h>

void main()

{

int n,i,s=0;

cout<<"\nEnter n";

cin>>n;

if(n<=0) {cout<<”\nN<=0”;return;}

for(i=1;i<=n;i++)s+=i;

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

}

Тесты

n S
n=-1 N<=0
n=0 N<=0
n=5 S=15

Задача №4

S=15-17+19-21+ . . ., всего n слагаемых.

#include <iostream.h>

#include <math.h>

void main()

{

int n,i,s=0,a=15;

cout<<"\nEnter n";

cin>>n;

if(n<=0) {cout<<”\nN<=0”;return;}

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

{

if(i%2==1)s+=a;

else s-=a;

a+=2;

}

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

}

Тесты

n S
n=-1 N<=0
n=0 N<=0
n=3 S=17

Для итерационного цикла известно условие выполнения цикла.

Задача №5

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

#include <iostream.h>

#include <math.h>

void main()

{

int a,min;

cout<<"\nEnter a";

cin>>a;

min=a;

while(a!=0)//for(;a!=0;)

{

cout<<"\nEnter a";

cin>>a;

if (a!=0&&a<min)min=a;

}

cout<<"\nmin="<<min<<"\n";

}

Тесты:

a -3 -10
min -10        

 

a
min        

 

a -6 -43 -15 -10
min -10        

 

Задача №6 : Найти сумму чисел Фибоначчи, меньших заданного числа Q.

#include<iostream.h>

void main()

{

int a=1,b=1,s=2,Q,c;

cout<<"\nEnter Q";

cin>>Q;

if(Q<=0)cout<<"Error in Q";

else

if(Q==1)cout<<"\nS=1";

else

{

c=a+b;

while(c<Q) //for(;c!=0;)

{

s+=c;

a=b;

b=c;

c=a+b;

}

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

}

}

Тесты:

Q S
-1 Error in Q
Error in Q

 

Тесты:

Q  
-1 Error in Q
Error in Q
2 3
2 3 5 7 11

 

Задача №7: Напечатать N простых чисел.

#include<iostream.h>

void main()

{

int a=1,n,d;

cout<<"\nEnter N";

cin>>n;

for(int i=0;i<n;)//внешний цикл

{

a++;d=1;

do //внутренний цикл

{

d++;

}

while(a%d!=0);//конец внутреннего цикла

if(a==d){

cout<<a<<" ";

i++;}

 

}//конец внешнего цикла

}

 


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

- массив элементов заданного типа;

- указатель на объект заданного типа;

- функция, возвращающая значение заданного типа.

Массив – это упорядоченная последовательность переменных одного типа. Каждому элементу массива отводится одна ячейка памяти. Элементы одного массива занимают последовательно расположенные ячейки памяти. Все элементы имеют одно имя - имя массива и отличаются индексами – порядковыми номерами в массиве. Количество элементов в массиве называется его размером. Чтобы отвести в памяти нужное количество ячеек для размещения массива, надо заранее знать его размер. Резервирование памяти для массива выполняется на этапе компиляции программы.

6.1. Определение массива в Си/Си++

int a[100];//массив из 100 элементов целого типа

Операция sizeof(a) даст результат 400, т. е.100 элементов по 4 байта.

Элементы массива всегда нумеруются с 0.

         
…..

Чтобы обратиться к элементу массива, надо указать имя массива и номер элемента в массиве (индекс):

a[0] – индекс задается как константа,

a[55] – индекс задается как константа,

a[I] – индекс задается как переменная,

a[2*I] – индекс задается как выражение.

Элементы массива можно задавать при его определении:

int a[10]={1,2,3,4,5,6,7,8,9,10} ;

Операция sizeof(a) даст результат 40, т. е.10 элементов по 4 байта.

int a[10]={1,2,3,4,5};

Операция sizeof(a) даст результат 40, т. е.10 элементов по 4 байта. Если количество начальных значений меньше, чем объявленная длина массива, то начальные элементы массива получат только первые элементы.

int a[]={1,2,3,4,5};

Операция sizeof(a) даст результат 20, т. е.5 элементов по 4 байта. Длин массива вычисляется компилятором по количеству значений, перечисленных при инициализации.