Порядок виконання завдання

Завдання №1

Дано цілі a1 ... an. Написати програму, яка б розраховувала суму тих елементів даної послідовності, які:

а) кратні 5;

б) непарні і ненегативні.

Порядок виконання завдання

1.Створив новий проект.

2.Ввів бібліотеку stdio.h, яка використовується для введення та виведення інформації.

3.Задав тип функції main.

4.Задав цілочисельний масив mas і цілочисельні змінні: i - лічильник, sum1, sum2, a1, a2.

5.Присвоїв початкові значення цілочисельним змінним i = 0, sum1 = 0, sum2 = 0 і цілочисельного масиву mas = {-1,2,5, -4,10}.

6.Задав цикл for: лічильник буде збільшуватися на одиницю до тих пір, поки не досягне значення, рівного числа елементів в масиві. Привласнив змінній а1 значення, рівне залишку від ділення i-того елемента масиву на 5, а змінній а2 значення, рівне залишку від ділення i-того елемента масиву на 2. Якщо значення змінної а1 дорівнює нулю (тобто i-ий елемент масиву без остачі поділився на 5, а значить, він кратний 5), то значення змінної sum1 збільшується на значення i-того елемента масиву. Якщо значення змінної а2 не буде дорівнює нулю і буде позитивне (тобто i-ий елемент масиву без остачі не поділився на 2, а значить, він був непарним), то значення змінної sum2 збільшується на значення i-того елемента масиву. Значення лічильника i збільшується на одиницю.

7.Використав функцію printf для виведення змінних sum1 та sum2 .

8.Скомпілював програму і перевірив програму на наявність помилок.

Код програми

# include <stdio.h>

void main()

{

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

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

{

a1=mas[i]%5;

a2=mas[i]%2;

 

if ( a1==0 )

sum1=sum1+mas[i];

 

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

sum2=sum2+mas[i];

}

 

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

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

}

Результат роботи

Блок-схема

 
 

 


 

 
 

 


Ні

 

Так

Ні Ні

 

Так Так

       
 
   
 


 

 

 


Завдання №2

Дана цілочисельна квадратна матриця. Написати програму, яка б визначала b1 ... bn, де bi - це значення першого по порядку позитивного елемента i-го рядка (якщо таких елементів немає, то присвоїти bі значення - 1)

Порядок виконання завдання

1.Створив новий проект.

2.Ввів бібліотеку stdio.h, яка використовується для введення та виведення інформації.

3.Задав тип функції main.

4.Об’явив цілочисельний масив mas, розміром в 3´3 елементи, і b, розміром в 3 елементи.

5.Об’явив цілочисельні змінні i, j, ch і цілочисельний покажчик на адресу x елемента масиву b. i - лічильник числа рядків у масиві mas, j - лічильник числа стовпців в масиві mas.

6.Присвоїв початкові значення цілочисельним змінним: i = 0, j = 0 і цілочисельним масивам mas = {1, 2, -3, -4, 5, 6, -7, -8, -9} і b = {0}.

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

8.Присвоїв значення першого елемента масиву b за вказівником на адресу x. 9.Задав цикл for (вкладений цикл), який буде працювати до тих пір, поки лічильник j не досягне значення, рівного числа стовпців у масиві. 10.Присвоїв змінній ch значення i-ого j-того елементу масиву mas. Якщо змінна ch більше нуля - записується за вказівником на адресу x значення змінної ch і вихід з циклу, інакше значення лічильника j збільшується на одиницю. Якщо j стане дорівнює 3 (тобто в рядку не зустрілося жодного позитивного елементу), то за вказівником на адресу x в масив b запишеться значення -1.

11.Значення лічильника i збільшується на одиницю.

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

13.Використавши функцію printf, програма виведе значення за вказівником х на екран при заданому і, тобто елементи матриці b.

14.Скомпілював програму і перевірив програму на наявність помилок.

Код програми

#include <stdio.h>

void main()

{

int mas[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=mas[i][j];

if ( ch>0 )

{

*x=ch;

break;

}

}

if (j==3)

{

*x=-1;

}

}

x=b;

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

{

printf ("%d \t", *x++);

}

}

 

Результат роботи

Блок-схема

 

 

 
 

 


Ні Так

       
   
 

 

 


 

       
 
   
 


Так

Так

Ні

Ні

       
   
 
 


Так

               
   
 
   
 
 
 
   

 

 

 


Висновок: оволодів практичними навичками розробки і програмування обчислювального процесу, а також навчився використовувати покажчик на адресу