Реферат по предмету "Информатика, программирование"


Работа над массивами с помощью языка С++

Задание 1. Дан двумерный массив размерностью 5x6,заполненный целыми числами, введёнными с клавиатуры. Сформировать одномерныймассив, каждый элемент которого равен наибольшему по модулю элементусоответствующего столбца.
 
Входные данные:
matr[5][6] — двумерныймассив.
Выходные данные:
mas[6] — одномерный массив.
 
Текст программы:
#include
#include
#include
#define N 5
#define M 6
void main(void)
{
int matr[N][M];
int mas[M];
int i,j;
do{
clrscr();
printf(«Введите двумерный массив \n»);
 for(i=0;i
   for(j=0;j
   {
  scanf("%d",&matr[i][j]);
                  }
printf("\n двумерныймассив:\n");
for(i=0;i
{
   for(j=0;j
     printf("%7d",matr[i][j]);
      printf("\n");
       }
printf("\n массивнаибольших по модулю элементов:\n");
for(j=0;j
{
 mas[j]=matr[0][j];
 for(i=0;i
    if(abs(matr[i][j])>abs(mas[j])) mas[j]=matr[i][j];
 printf("%7d",mas[j]);
               }
printf("\n\n1 — повторить");
 }while(getch()=='1');
}
Блок-схема:

/>
/>
Тестирование:
двумерный массив:
     1     -3      5     -7      0      0
     0      5      8     -9      3      0
     3      4     -8      4      3      0
    -4      3      0      7      3      0
     0      3      3      7      1      0
массив наибольших по модулю элементов:
    -4      5      8     -9      3      0
 
Задание 2. Дан двумерный массив n * m. Определить, есть ли в данном массиве столбец, в которомравное количество положительных и отрицательных элементов.
Входные данные:
 
matr[n][m] — двумерный массив,
n, m- размер массива.
s[60] — строка.
Текст программы:
#include
#include
#include
void main(void)
{
int i,j;
int n,m;
int matr[10][10];
int pol,otr;
char s[60];
do{
strcpy(s,0);
clrscr();
printf(«Введите размер массива (n*m)\n»);
scanf("%d %d",&n,&m);
printf(«Введите массив\n»);
 for(i=0;i
   for(j=0;j
     scanf("%d",&matr[i][j]);
printf("\nОпределить, есть ли вданном массиве столбец,\
в котором\nравное количество положительныхи отрицательных элементов.\n");
for(j=0;j

 otr=0;
 pol=0;
 for(i=0;i
 {
  if(matr[i][j]
  if(matr[i][j]>0) ++pol;
 }
 if(pol==otr) strcat(s,"  есть");
   else strcat(s,"   нет");
}
printf("\n");
for(i=0;i
{
 for(j=0;j
 printf("%6d",matr[i][j]);
printf("\n");

printf("%s",s);
printf("\n\n1 — повторить");
 }while(getch()=='1');
}
Блок-схема:
 
/>

/>/> />

Тестирование:
Определить, есть ли в данном массиве столбец, в котором
равное количество положительных и отрицательных элементов.
    0       1      -2       3       4
    0       2      -4       5      -8
    0       0       9      -7       0
    0      -3       4       0       0
 есть   нет  есть   нет  есть
Задание 3. Дан двумерный массив размерностью 8x7.
а). Удалить все столбцы, а которых первый элемент больше последнего.
б). Заменить все элементы первых трёх столбцов на их квадраты.
Входные данные:
 
matr[8][7] — двумерныймассив.
Функции:
Print — вывод массив на экран.
Текст программы:
#include
#include
#define N 8
#define M 7
void Print(int matr[][M],int m)
{
int i,j;
for(i=0;i
   for(j=0;j
     printf("%6d",matr[i][j]);
   printf("\n");
 }
}
void main(void)
{
int m;
int i,j;
int matr[N][M];
int r,t;
do{
m=M;
clrscr();
printf(«Введите массив\n»);
for(i=0;i
  for(j=0;j
    scanf("%d",&matr[i][j]);
     }
clrscr();
printf(" массив\n");
Print(matr,m);
for(j=0;j
{
 if(matr[0][j]>matr[N-1][j])
  {
   for(t=0;t
      for(r=j;r
         matr[t][r]=matr[t][r+1];
   --m;
   --j;
  }
}
printf(«а).Удалить все столбцы, акоторых первый элемент больше последнего.\n»);
Print(matr,m);
for(j=0;j
  for(i=0;i
  {
   matr[i][j]*=matr[i][j];
  }
printf(«б). Заменить все элементыпервых трёх столбцов на их квадраты.\n»);
Print(matr,m);
printf("\n\n1 — повторить");
 }while(getch()=='1');
}
Блок-схема:

/>
Функция Print
/>

/>/>
Тестирование:
массив
    1     2     3     4     5     6     7
   -8     0     5     5     4     4     5
    4     5     5     5     5     5     5
    5     5     5    -7     5     5     5
    9     4     4     5     0     5     3
    5     6     3     4     5     4     5
    6     7     8     9     0     4     8
   -4     5     9     0     9     9     0
а).Удалить все столбцы, в которых первый элемент больше последнего.
    2     3     5     6
    0     5     4     4
    5     5     5     5
    5     5     5     5
    4     4     0     5
    6     3     5     4
    7     8     0     4
    5     9     9     9
б). Заменить все элементы первых трёх столбцов на их квадраты.
    4      9     25     6
    0     25    16     4
   25    25    25     5
   25    25    25     5
   16    16     0      5
   36     9     25     4
   49    64     0      4
   25    81    81     9


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.