| 
 Цикл 
12.Скласти програму виведення на екран квадратiв всiх натуральних чисел менших за 20. 
#include <stdio.h> 
#include <conio.h> 
  
void main() 
{ 
clrscr(); 
for (int i=1;i<20;i++)printf("%2d*%2d=%4d\n",i,i,i*i); 
} 
  
13. Скласти програму знаходження суми всiх чисел кратних  трьом  з  вiдрiзка [n,50]. 
#include <stdio.h> 
void main() 
{ 
int n; 
printf("n="); 
scanf("%d",&n); 
int i=48; 
int s=0; 
while (i>=n) 
{ 
s+=i; 
i-=3; 
} 
printf("S=%d",s); 
} 
14. Протабулювати функцію f(x)=cos(2x) на проміжку [a,b] розбитого на n проміжків. 
#include <stdio.h> 
#include <math.h> 
void main() 
{ 
const a=0, b=10, n=10; 
float h=(b-a)/n; 
float x=a; 
float y; 
while (x<=b) 
{ 
y=cos(2*x); 
printf("x=%f y=%f\n",x,y); 
x=x+h; 
} 
} 
15.  За заданою формулою члена ряду з номером  k  скласти  програму  обрахунку суми всix членiв ряду , не менших заданого числа  E. 
                                      1 
                                ─────── 
                                (2k-1)(2k+1) 
16. Скласти програму обчислення добутку членів послідовності D=-1*(1/2)*(-1/3)*(1/4)*(-1/5)*...*(-1/2N-1)*(1/2N). 
17. Написати таблицю переведення температури з градусів  по  шкалі Цельсія (С) в градуси шкали Фаренгейта (F) за формулою F=1.8*C+32  для значень від 10 до 20 градусів з кроком 2 градуси. 
18. Написати таблицю переведення радіуса в площу круга для  значень  радіуса від 1 до 18 В кроком 2. 
19. Написати таблицю відповідності між вагою в фунтах  і  вагою  в кг для значень від 1 до 30 фунтів з кроком 3 фунт (1 фунт = 0.4 кг.) 
  
 | 
 Підрограми 
20. Знайти площу чотирикутника заданого сторонами і діагоналлю. 
21. Знайти площу чотирикутника заданого координатами вершин. 
#include <stdio.h> 
#include <conio.h> 
#include <math.h> 
  
float l(int x0, int y0, int x, int y) 
{return sqrt(pow((x-x0),2)+pow((y-y0),2));} 
  
float geron(float a, float b, float c) 
{ float p=(a+b+c)/2; 
return sqrt(p*(p-a)*(p-b)+(p-c));} 
  
void main() 
{ 
clrscr(); 
int x1,y1,x2,y2,x3,y3,x4,y4; 
scanf("%d%d%d%d%d%d%d%d",&x1,&y1,&x2,&y2,&x3,&y3,&x4,&y4); 
float a,b,c,s; 
a=l(x1,y1,x2,y2); 
b=l(x2,y2,x3,y3); 
c=l(x1,y1,x3,y3); 
s=geron(a,b,c); 
a=l(x3,y3,x4,y4); 
b=l(x4,y4,x1,y1); 
c=l(x1,y1,x3,y3); 
s+=geron(a,b,c); 
printf("s=%f\n",s); 
} 
22. Знайти площу многокутника заданого координатами вершин а) вершини задані по порядку; б) вершини задані в довільному порядку.  
Площа трикутника: 1)Формула Герона; 2)S=1/2*|(x2-x1)*(y3-y1)-(x3-x1)*(y2-y1)| 
23.Використовуючи функцію сумування двох чисел, обчислити суму трьох чисел. 
#include <stdio.h> 
#include <math.h> 
  
float suma(int x, int y) 
{return x+y;} 
  
void main() 
{ 
int a,b,c,s; 
scanf("%d%d%d",&a,&b,&c); 
s=suma(suma(a,b),c); 
printf("%d+%d+%d=%d",a,b,c,s); 
} 
24.Використовуючи функцію максимального з двох, визначити максимальне з чотирьох чисел. 
  
 | 
 Масив 
  
25. Дано лінійну таблицю  із  n  цілих  чисел.  Знайти  суму  S  всіх елементів. 
#include <stdio.h> 
void main() 
{ 
int a[100]; 
int i,n,s; 
printf("n="); 
scanf("%d",&n); 
for (i=1;i<=n;i++){printf("a[%d]=",i);scanf("%d",&a[i]);} 
s=0; 
for (i=1;i<=n;i++) s=s+a[i]; 
printf("s=%d",s); 
} 
26. З масиву стерти K-тий елемент. 
#include <stdio.h> 
void main() 
{ 
int a[100]; 
int i,n,k,s; 
printf("n="); 
scanf("%d",&n); 
for (i=1;i<=n;i++){printf("a[%d]=",i);scanf("%d",&a[i]);} 
printf("k="); 
scanf("%d",&k); 
for (i=k;i<=n;i++) a[i]=a[i+1]; 
n--; 
for (i=1;i<=n;i++) printf("a[%d]=%d\n",i,a[i]); 
} 
27. В масив вставити елемент на К-те місце 
28. В таблиці а[1..100)]всі елементи рівні 2,3,4 або 5. Написати  програму, яка заміняє 2 на 5, 3 на 4, 4 на 3, 5 на 2. 
29. Скласти програму підрахунку суми елементів з непарними номерами  масиву A[1..25]. 
30. Задано таблиця A[1..N]. Побудувати таблицю  B[1..N],  в  якій  першими розміщені всі від`ємні елементи таблиці A, а потім всі додатні. 
31. Дано натуральна таблиця A[1..10]. В таблицю М записати тільки ті числа, остача від ділення яких на 3 рівна 1, а на 5 рівна 2. 
32. Заданий одномірний числовий масив. Визначити суму добутків  всіх  пар  сусідніх чисел. 
33. Дано масив A[1..M]. Скласти програму перестановки місцями елементів з  парними та непарними номерами. 
34. Скласти програму запису в таблицю квадратів чисел від 1 до 100. 
35. Скласти  програму  підрахунку  кількості  мінімальних  елементів  в масиві A[1..N]. 
36.В одномірному числовому масиві всі від`ємні елементи замініть  нуля ми. 
37. Перевірити, чи є одномірний числовий масив упорядкованим по зростанню. 
Рядки 
  
38. Знайти подвійні пропуски і знищити їх. 
39. Знайти найдовше слово, слова  заданої  довжини  N,  слова  які  містять літеру M. 
40. В заданому тексті знищити частину тексту поміщену в дужках. 
41. Із тексту вибрати а) цифри; б)числа і вивести їх по порядку. 
  
 | 
 Операції над адресами. Вказівники. 
  
Задача 1. 
Змінна - 25 
Адреса – 0xfff4 
  
#include <iostream.h> 
void main() 
{ 
int a=25; 
cout <<”Zminna”<<a<<"\n"; 
cout <<”Adress”<<&a<<"\n"; 
  
} 
  
Задача 2. 
Порівння типів, стосовно використання пам’яті. 
#include <iostream.h> 
  
void main() 
{ 
int *a; 
float *b; 
char *c; 
cout <<"int    "<<sizeof(a)<<"\n"; 
cout <<"float  "<<sizeof(b)<<"\n"; 
cout <<"char   "<<sizeof(c)<<"\n"; 
  
  
int a1; 
float b1; 
char c1; 
cout <<"int    "<<sizeof(a1)<<"\n"; 
cout <<"float  "<<sizeof(b1)<<"\n"; 
cout <<"char   "<<sizeof(c1)<<"\n"; 
} 
  
Задача 3. 
Введення і виведення змінної заданої вказівником. 
#include <stdio.h> 
void main() 
{ 
float *a; 
*a=3.14; 
printf("a=%f\n",*a); 
printf("a=%p\n",a); 
scanf("%f",a); 
printf("a=%f\n",*a); 
} 
Задача 4. 
Виділення і вивільнення пам’яті. 
#include <stdio.h> 
void main() 
{ 
int *a=new int; 
*a=5; 
int *b=new int(10); 
printf("a=%d b=%d\n",*a,*b); 
a=b; 
printf("a=%d b=%d\n",*a,*b); 
delete(b); 
printf("a=%d \n",*a); 
} 
  
В С (tdlib.h, alloc.h ) malloc, calloc для надання динамічної пам’яті, free – вивільнення пам’яті. 
  
 | 
 Файли. 
Задача  5. Обчислити суму. 
#include <fstream.h> 
void main() 
{ 
ifstream inp;inp.open("input.dat"); 
int a,b,c; 
inp>>a>>b; 
inp.close(); 
c=a+b; 
ofstream out;out.open("output.sol"); 
out<<c; 
out.close(); 
} 
Задача  6. 
Рядок вивести в стовпчик і в зворотному порядку. 
#include <fstream.h> 
#include <string.h> 
  
void main() 
{ 
ifstream inp;inp.open("input.dat"); 
char a[100]; 
inp>>a; 
inp.close(); 
strrev(a); 
ofstream out;out.open("output.sol"); 
for (int i=1;i<=strlen(a);i++) out<<a[i]<<\n; 
out.close(); 
} 
 Задача  7. В таблиці NxM знайти суму кожного рядка і стовпця. 
#include <stdio.h> 
#include <fstream.h> 
  
void main() 
{ 
int n,m,i,j,s; 
int a[100][100]; 
ifstream inp;inp.open("input.dat"); 
inp>>n>>m; 
for (i=1;i<=n;i++) 
for (j=1;j<=m;j++) 
inp>>a[i][j]; 
inp.close(); 
  
  
for (i=1;i<=n;i++) 
{ 
for (j=1;j<=m;j++) 
printf("%d ",a[i][j]); 
printf("\n"); 
} 
Задача 4. Зчитати з файлу всі дані і вивести їх на екран. 
#include <iostream.h> 
  
void main() 
{ 
ifstream inp;inp.open("input.dat"); 
while (!inp.eof()) 
{ 
char *a=new char[1000]; 
inp>>a; 
cout <<a<<"\n"; 
delete [] a; 
} 
inp.close(); 
} 
 |