42617

Получить сумму тех элементов последовательности

Лабораторная работа

Информатика, кибернетика и программирование

Получить b1bn где bi это значение первого по порядку положительного элемента iой строки если таких элементов нет то принять bi =1 2. Присвоим переменной а1 значение равное остатку от деления iтого элемента массива на 5 а переменной а2 значение равное остатку от деления iтого элемента массива на 2. Если значение переменной а1 будет равно нулю т. iый элемент массива нацело поделился на 5 а значит он кратен 5 то прибавим к значению переменной sum1 значение iтого элемента массива.

Русский

2013-10-30

49 KB

2 чел.

PAGE  3

Лабораторная работа №4

1.Задание

1.1. Даны целые a1an. Получить сумму тех элементов данной

      последовательности, которые :

      а) кратны 5             б) нечетны и неотрицательны

1.2. Дана целочисленная квадратная матрица. Получить b1bn, где bi -

      это значение первого по порядку положительного элемента i-ой

      строки ( если таких элементов нет, то принять bi =-1)

2.Описание программы

2.1. Объявление целочисленного массива a и  целочисленных  переменных i – счетчик, sum1, sum2, a1, a2.

Инициализация начальными значениями целочисленных переменных i=0, sum1=0, sum2=0 и целочисленного массива a={-1,2,5,-4,10}

Задаем цикл for: счетчик будет увеличиваться на единицу до тех пор, пока не достигнет значения, равного числу элементов в массиве. Присвоим переменной а1 значение, равное остатку от деления i-того элемента массива на 5, а переменной а2 значение, равное остатку от деления i-того элемента массива на 2. Если значение переменной а1 будет равно нулю (т.е. i-ый элемент массива нацело поделился на 5, а значит, он кратен 5), то прибавим к значению переменной  sum1 значение i-того элемента массива. Если значение переменной а2 не будет равно нулю и будет положительно (т.е. i-ый элемент массива нацело не поделился на 2, а значит, он был нечетным), то прибавим к значению переменной  sum2 значение i-того элемента массива. Модифицируем счетчик i, увеличив его значение на единицу.

Вывод результата, или переменных sum1 и sum2, на экран.

Конец программы.

2.2. Объявление целочисленных массивов a, размером в 33 элемента, и b,  размером в 3 элемента; целочисленных переменных i, j, ch и целочисленного указателя на адрес x элемента массива b. i – счетчик числа строк в массиве а, j - счетчик числа столбцов в массиве а.

Инициализация начальными значениями целочисленных переменных i=0, j=0 и целочисленных массивов a={1, 2, -3, -4, 5, 6, -7,-8,-9} и b={0}.

Задаем цикл for, который будет работать до тех пор, пока счетчик i не достигнет значения, равного числу строк в массиве, также будет увеличиваться на единицу указатель на адрес x.

Возьмем значение первого элемента массива b по указателю на адрес x. Задаем цикл for (вложенный цикл), который будет работать до тех пор, пока счетчик j не достигнет значения, равного числу столбцов в массиве. Присвоим переменной ch значение i-ого j-того элемента массива а.

Если переменная ch больше нуля – записать по указателю на адрес x значение переменной ch и выйти из цикла, в противном случае модифицируем счетчик j, увеличив его значение на единицу. Если j станет равно 3 (т.е. в строке не встретилось ни одного положительного элемента), то по указателю на адрес x в массив b запишется значение –1.

Модифицируем счетчик i, увеличив его значение на единицу.

Задаем цикл for, который будет работать до тех пор, пока счетчик  i не достигнет значения, равного числу элементов в массиве b. Вывод результата, или значения по указателю x, на экран. Модифицируем  адрес, увеличив его значение на единицу.

Конец программы.

Приложение B

Блок-схема задания №1

                                                  

Приложение A

Листинг программы

A.1. # include <stdio.h>

      main()

      {

int a[5]={-1,2,5,-4,10}, i=0, sum1=0, sum2=0, a1, a2;

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

 {

  a1=a[i]%5;

  a2=a[i]%2;

  if ( a1==0 )

   {

    sum1+=a[i];

   }

  if ( a2!=0 && a2>0 )

   {

    sum2+=a[i];

   }

 }

printf ( "\n %d", sum1 );

printf ( "\n %d", sum2 );

return 0;

}

A.2. #include <stdio.h>

       main()

       {

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

 int x=b;

int i, j, ch;

for ( i=0; i< 3; i++, x++)

         {

  for ( j=0, x=0; j < 3; j++)

  {

     ch=a[i][j];

     if ( ch>0 )

     {

      x=ch;

      break;

     }

    }

  if ( j==3 )

   {

    x=-1;

   }

 }

x=b;

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

{

 printf ( "%d ", x++);

 }

return 0;

}


 

А также другие работы, которые могут Вас заинтересовать

28758. КУЛЬТУРА В ПОСЛЕВОЕННЫЕ ГОДЫ 24.87 KB
  Во время одной из встреч с деятелями литературы и искусства Н. Но тема репрессий сталинских лагерей не ушла из литературы. В начале 60х годов усилилось разоблачение €œидейных шатаний€ деятелей литературы и искусства. Общественный подъем этого времени содействовал становлению творчества деятелей литературы и искусства нового поколения.
28761. Атмосфера Серебряного века 14.98 KB
  Понятие это не столько научное сколько эмоциональное вызывающее тут же ассоциации с другим коротким периодом истории русской культуры с золотым веком пушкинской эпохой русской поэзии первая треть XIX века. Серебряный век как период и образ мышления Искусство и философия Серебряного века отличались элитарностью интеллектуализмом. Поэтому нельзя отождествлять всю поэзию конца XIX начала XX века с Серебряным веком.
28764. Объединение русских земель вокруг Москвы (XIV - первая треть XVI в.). Социально-экономический и политический строй русского государства, его особенности 145.38 KB
  Социальноэкономический и политический строй русского государства его особенности. Образование единого централизованного государства в результате объединения русских земель вокруг Москвы на протяжении XIV XV веков представляло собой весьма сложное и противоречивое явление. Проблеме формирования единого Российского государства уделено внимание в фундаментальных исследованиях крупнейших российских историков Н. Соловьёв в большей степени обращал внимание на объективные исторически подготовленные причины формирования Российского государства на...
28765. Начало эпохи Великих географических открытий и первые колониальные захваты. НОВОЕ ВРЕМЯ как особая фаза всемирно-исторического процесса 488.57 KB
  Поскольку контроль над Южной Атлантикой оказался в руках португальцев Алькасовасское соглашение 1479 Испания желавшая установить прямые контакты со странами Востока приняла предложение генуэзского мореаплавателя Колумба об организации экспедиции на запад. Магальяйнша Магеллан фернан об организации экспедиции с целью обогнуть американский континент с юга и через Тихий океан добраться до Азии. Сам Аламинос участвовал ранее в четвертой экспедиции Колумба. Начальник экспедиции и его кормчий приступили к снаряжению трех кораблей в...
28766. Реформация и ее экономические, политические, социокультурные причины. Религиозные войны в Европе 329.55 KB
  Её началом принято считать выступление доктора богословия Виттенбергского университета Мартина Лютера: 31 октября 1517 года он прибил к дверям виттенбергской Замковой церкви свои 95 тезисов в которых выступал против существующих злоупотреблений католической церкви в частности против продажи индульгенций[прим. Интересы и чаяния зарождающегося класса капиталистов по итогам Реформации нашли проявление в основании протестантских церквей призывающих к скромности экономии и накоплению капитала а также формировании национальных государств в...