Цикл
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();
}
|