Общие сведения.
1) тип элементов;
2) имя массива;
3) размерность массива.
Например:
#include <stdio.h>
main()
{
char *uk1,*uk2;
uk1=uk2="ЯЗЫКИ И ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ";
while(*uk2!='\0')
putchar(*uk2++);
putchar('\n');
while(--uk2 >= uk1)
putchar(*uk2);
putchar('\n');
}
Задание А.
#include <stdlib.h>
# include <conio.h>
# include <stdio.h>
#define n 10
int main ()
a[i]=rand()%10-5;pol=0;
j=n-1;
{b[j]=a[i]; j=j-1;
if (a[i]>=0)pol++;}
for (i=0;i<pol;i++)
{ buf=b[n-1];
for(j=n-1;j>0;j--)
b[j]=b[j-1]; b[0]=buf; }
printf ("\n");
system("PAUSE");
return 0;}
1 2 3 -4 -5 -1 -2 -3 -7 9
pol=4
9 -7 -3 -2 -1 -5 -4 3 2 1
-4 3 2 1 9 -7 -3 -2 -1 -5
Варианты задания А
1. Дан массив A[N]. Заполнить массив В[N] элементами массива A[N] следующим
образом: вначале заполнить элементами с четными индексами, а затем — с
нечетными. Осуществить циклический сдвиг вправо на k позиций, где k – число
положительных элементов
2. Дан массив A[N]. Заполнить массив В[N] элементами массива A[N] следующим
образом: вначале заполнить элементами с |нечетными индексами, а затем —с
четными. Осуществить циклический сдвиг вправо на k позиций, где k – число
отрицательных элементов
3. Дан массив A[N]. Заполнить массив В[N] элементами массива A[N], которые
удовлетворяют двойному неравенству: A[1] <A[i] < A[10]. Незаполненные элементы
массива В[N] заполнить оставшимися элементами массива A[N]. Осуществить
циклический сдвиг влево на k позиций, где k – число оставшихся элементов массива A[N].
4. Дан массив A[N]. Заполнить массив В[N] элементами массива A[N], которые
удовлетворяют двойному неравенству: A[1] < A[i] или A[i] < A[10]. Незаполненные
элементы массива В[N] заполнить оставшимися элементами массива A[N]. Осуществить
циклический сдвиг вправо на k позиций, где k – число оставшихся элементов массива A[N].
13. Дан массив размера 10. Переставить в обратном порядке элементы массива,
расположенные между его минимальным и максимальным элементами. Осуществить
циклический сдвиг элементов массива влево на k позиций, где k – число элементов,
расположенных между его минимальным и максимальным элементами
14. Дан массив размера N. Осуществить циклический сдвиг элементов массива влево
на k позиций, где k – индекс минимального элемента.
16. Дан массив A[N]. Осуществить циклический сдвиг элементов массива вправо
на k позиций, где k – целая часть среднего арифметического значения положительных
элементов массива A[N].
17. Дан массив A[N]. Осуществить циклический сдвиг элементов массива вправо
на k позиций, где k – целая часть среднего арифметического значения отрицательных
элементов массива A[N].
18. Дан массив A[N]. Осуществить циклический сдвиг элементов массива вправо
на k позиций, где k – целая часть среднего арифметического значения четных элементов
массива A[N].
19. Дан массив A[N]. Осуществить циклический сдвиг элементов массива вправо
на k позиций, где k – целая часть среднего арифметического значения нечетных элементов
массива A[N].
Задание Б
Пример Дан массив А[n]. Заполнить массив B[n] элементами массива А[n] ,
начиная с последнего и осуществить циклический сдвиг вправо на К позиций, где К-число
положительных элементов.
#include <stdlib.h>
# include <conio.h>
# include <stdio.h>
#define n 10
int main ()
pol=0;pa=&a[0];
pb=&b[9];
pa=&a[0];
{*pb=*pa;
if (*pa>=0)pol++;
--pb;
++pa; }
pb=&b[0];
for (i=0;i<n;i++)
pb=&b[9];
p=&b[0];
for (i=0;i<pol;i++)
{ buf=*pb;
for(j=0;j<n;j++)
*pb=*(--pb);
*p=buf;
p=&b[0];
pb=&b[9]; }
pb=&b[0];
printf ("\n");
system("PAUSE");
return 0;
Варианты задания Б
Контрольные вопросы.