Сайт підготовки до олімпіади з інформатики

програмування в С++

С++
03.09.2014 Повторення "Мова програмування С++" PDF Печать E-mail
Добавил(а) Administrator   
04.09.14 22:19

«Мова програмування С, С++ »

Єдиний спосіб вивчати нову мову програмування –писати на ній програми. (Брайен Керніган)

Visual C++

C++

 

Порядок роботи

$11.                    Запустити середовище Головне меню\Програми\Visual C++ 9.0 Express Edition\Microsoft Visual C++ 2008 Express Edition.

$12.                    Створити новий проект «Консольний додаток Win32», який зберігати в власну папку.

$13.                    Перевірити програми з додатку.

Зауваження

Для компіляції та виконання натискуйте клавішу Ctrl F5

// Під'єднання модулів

#include "stdafx.h" //генерація файлу предкомпільованих заголовків

#include <iostream>//організація введення-виведення в мові програмування C++

#include <math.h>//виконання простих математичних операцій

using namespace std;// звернення до об'єктів напряму

int  _tmain()

{

int a,b; //опис цілих

float c; //опис дійсних

cin>>a>>b;//ведення даних

c=a/b;

cout<<c<<”\n”;//виведнння даних

}

#include "stdafx.h"

#include "iostream"

using namespace std;

int 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();

}

 

Функції

 

Ім'я

Опис

abs(i)

модуль числа

ceil(f)

округлення до найближчого більшого цілого числа

fabs(f)

абсолютне значення

floor(f)

округлення до найближчого меншого цілого цілого

fmod(a,b)

повертає залишок від ділення двох чисел

modf(x,p)

повертає цілу та дробову частину аргументу х зі знаком

pow(x,y)

вираховує значення xy

sqrt(f)

квадратний корінь

#include "stdafx.h"

#include "iostream"

#include "math.h"

using namespace std;

int _tmain()

{

double f;

f=-5.5; cout<<abs(f)<<endl;//5.5

f=-5.5; cout<<fabs(f)<<endl;//5.5

f=5.8; cout<<floor(f)<<endl;//5

f=5.8; cout<<ceil(f)<<endl;//6

f=9.0; cout<<sqrt(f)<<endl;//3

f=5; cout<<pow(f,2)<<endl;//25

f=5.5; cout<<fmod(f,2)<<endl;//1.5

f=17.25;double p,y;y=modf(f,&p); f=5.2; cout<<y<<" "<<p<<endl;//0.25  17

return 0;}

 

Операції

 

Ім'я

Опис

+

с=a+b; k=k+1; k++; s+=k;

-

c=a-b; k=k-1; k--; s-=k;

*

c=a*b;

/

a=5.0/2;//2.5   a=5/2;//2

%

a=5%2;//1

#include "stdafx.h"

#include "iostream"

using namespace std;

int _tmain()

{

int n,a,b;

cin>>n;/* 12 */

a=n/10;

b=n%10;

cout<<a<<endl;/* 1 */

cout<<b<<endl;/* 2 */

return 0;

}

 

Розгалуження

Цикл

Операції порівняння

З параметром

<, >. <=,>=, !=, ==

for (i=1;i<=n;i++) {блок операторів};

Логічні операції

З перед умовою

&&, ||, !

while (умова){блок операторів};

Умовний оператор

Після умовою

if (умова)  команда 1; else команда 2;

do {блок операторів}

while (умова);

 Масиви

С++

Операція

Лінійний масив

Прямоктна таблиця

Опис

Int a[100];

int i, n;//індекс, кількість елементів

Int a[100][100];

int i,j, n,m;//індекс, кількість елементів

Введення

cin>>n;

for(i=1;i<=n;i++)cin>>a[i];

cin>>n>>m;

for(i=1;i<=n;i++)

for(j=1;j<=m;j++)  cin>>a[i][j];

Виведення

for(i=1;i<=n;i++)cout<<a[i<<>" ";

for(i=1;i<=n;i++)

for(j=1;j<=m;j++)cout<<a[i][j]<<" ";

Сумування

s=0;

for(i=1;i<=n;i++)s=s+a[i];

s=0;

for(i=1;i<=n;i++)

for(j=1;j<=m;j++)s=s+a[i][j];

Пошук

cin>>k;

for(i=1;i<=n;i++) if (a[i]==k) cout<<i;

cin>>k;

for(i=1;i<=n;i++)

for(j=1;j<=m;j++)if (a[i][j]==k)cout<<i<<" "<<j;

Пошук максимального

max=a[1];nmax=1;

for(i=2;i<=n;i++)if  (a[i]>max) {max=a[i];nmax=i;}

max=a[1];imax=1;jmax=1;

for(i=1;i<=n;i++)

for(j=1;j<=m;j++)if  (a[i][j]>max) {max=a[i][j];

imax=i;jmax=j;}

Сортування

for(i=1;i<n;i++)

for(j=1;j<n;j++)

if  (a[j]>a[j+1]){temp=a[j];  a[j]=a[j+1];a[j+1]=temp;}

 

Стирання

n=n-1;

for(i=k;i<=n;i++)a[i]=a[i+1]; 

 

Вставка

n=n+1;

for(i=n;i>=1;i--)a[i]=a[i-1]; 

 

ЗАДАЧІ

Структура програми

#include "stdafx.h"

#include "iostream"

#include <math.h>

using namespace std;

int main()

{

cout <<"Okey";

return 0;

}

Слідування

1. Два  резистори  R1  і  R2  з'єднані паралельно. Визначити сумарний  опір за формулою .

2.     Обчислити  відстань  між двома точками з координатами X1,Y1 і X2,Y2  за формулою L=

#include "stdafx.h"

#include "iostream"

#include <math.h>

using namespace std;

int main()

{

float x1,y1,x2,y2;

cin>>x1>>y1>>x2>>y2;

float l=sqrt(pow((x1-x2),2)+pow(y1-y2,2));

cout<<("L="<<l<<endl;

}

3.   В  рядку  S  символів,  на  сторінці  R рядків. Скільки символів в книжці, у якої N сторінок?

За скільки хвилин учень прочитає книгу, якщо він одну сторінку читає за T хвилин?

#include "stdafx.h"

#include "iostream"

using namespace std;

int main()

{

int s,r,n,t;

cin>>s>>r>>n>> t;

int a=s*r*n;

cout<<"A=”<<a<<”\n;

int b=a/t;

cout<<"B=”<<b<<”\n;

int g,h;

g=b/60; h=b%60;

cout<<g<<”:”<<h;

}

4. Скільки  лампочок потрібно, щоб освітити вулицю довжиною D км, як­­­ що стовпи з ліхтарями стоять на відстані V м?

5. Одна  серія фільму по телевізору триває F хв. Скільки часу в годи­­нах необхідно, щоб переглянути N серій?

Розгалуження

6. Знайти максимальне значення серед двох чисел введених з клавіатури.

#include "stdafx.h"

#include "iostream"

using namespace std;

int main()

{

int a,b,max;

cin>>a>>b;

if (a>b) max=a; else max=b;

court<<max<<endl;

}

7. Знайти максимальне значення серед трьох чисел введених з клавіатури.

#include "stdafx.h"

#include "iostream"

using namespace std;

int main()

{

int a,b,c,max;

cin>>a>>b>>c;

if (a>=b && a>=c) max=a;

if (b>=a && b>=c) max=b;

if (c>=a && c>=b) max=c;

cout<<max<<endl;

}

8. Введене число перевірити: додатне, від'ємне чи дорівнює нулю.

9. Напишіть програму перевірки знання додавання трьох введених чисел.

10.Введене число перевірити: менше, більше чи дорівнює воно 100.

11. Перевірити, чи існує трикутник із сторонами A, B, C.

Цикл

12.Скласти програму виведення на екран квадратiв всiх натуральних чисел менших за 20.

#include "stdafx.h"

#include "iostream"

using namespace std;

int main()

{for (int i=1;i<20;i++) cout<<i<<”*”<<i<<”=”<<,i*i;

}

13. Скласти програму знаходження суми всiх чисел кратних  трьом  з  вiдрiзка [n,50].

#include "stdafx.h"

#include "iostream"

using namespace std;

int main()

{int n; cin>>n;

int i=48;int s=0;

while (i>=n)

{s+=i;i-=3;}

cout<<s<<endl;

}

14. Протабулювати функцію f(x)=cos(2x) на проміжку [a,b] розбитого на n проміжків.

#include "stdafx.h"

#include "iostream"

using namespace std;

int 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);

cin<<x<< “   “<<y;

x=x+h;}

}

15. Написати таблицю переведення температури з градусів  по  шкалі Цельсія (С) в градуси шкали Фаренгейта (F) за формулою F=1.8*C+32  для значень від 10 до 20 градусів з кроком 2 градуси.

16. Написати таблицю переведення радіуса в площу круга для  значень  радіуса від 1 до 18 В кроком 2.

Масив

17. Дано лінійну таблицю  із  n  цілих  чисел.  Знайти  суму  S  всіх елементів.

#include "stdafx.h"

#include "iostream"

using namespace std;

int main()

{

int a[100];

int i,n,s;

cin>>n;

for (i=1;i<=n;i++){cin>> a[i];}

s=0;

for (i=1;i<=n;i++) s=s+a[i];

cout<<s;

}

18. З масиву стерти K-тий елемент.

#include "stdafx.h"

#include "iostream"

using namespace std;

int main()

{

int a[100];

int i,n,k,s;

cin>>n;

for (i=1;i<=n;i++) cin>>a[i];

cin>>k;

for (i=k;i<=n;i++) a[i]=a[i+1];

n--;

for (i=1;i<=n;i++) cout<<a[i]<<” “;

}

19. В масив вставити елемент на К-те місце

20. В таблиці а[1..100)]всі елементи рівні 2,3,4 або 5. Написати  програму, яка заміняє 2 на 5, 3 на 4, 4 на 3, 5 на 2.

21. Скласти програму підрахунку суми елементів з непарними номерами  масиву A[1..25].

22. Задано таблиця A[1..N]. Побудувати таблицю  B[1..N],  в  якій  першими розміщені всі від`ємні елементи таблиці A, а потім всі додатні.

23. Дано натуральна таблиця A[1..10]. В таблицю М записати тільки ті числа, остача від ділення яких на 3 рівна 1, а на 5 рівна 2.

24. Заданий одномірний числовий масив. Визначити суму добутків  всіх  пар  сусідніх чисел.

25. Дано масив A[1..M]. Скласти програму перестановки місцями елементів з  парними та непарними номерами.

26. Скласти програму запису в таблицю квадратів чисел від 1 до 100.

27. Скласти  програму  підрахунку  кількості  мінімальних  елементів  в масиві A[1..N].

28.В одномірному числовому масиві всі від`ємні елементи замініть  нуля ми.

29. Перевірити, чи є одномірний числовий масив упорядкованим по зростанню.


Последнее обновление 06.10.14 11:37
 
Порядок роботи PDF Печать E-mail
Добавил(а) Administrator   
21.09.11 09:56

Порядок роботи

  1. Встановити Visual С++ Express 2008 з папки e:\ school\install.
  2. Запустити середовище Головне меню\Програми\Visual C++ 9.0 Express Edition\Microsoft Visual C++ 2008 Express Edition.
  3. Створити новий проект «Консольний додаток Win32», який зберігати в папку E:\school\Прізвище
  4. Перевірити програми з додатку.

Зауваження

Для компіляції та виконання натискуйте клавішу Ctrl F5

// Під'єднання модулів

#include "stdafx.h" //генерація файлу предкомпільованих заголовків

#include <stdio.h> // операцій стандартного введення і виведення в С

#include <iostream>//організація введення-виведення в мові програмування C++

#include <math.h>//виконання простих математичних операцій

#include <conio.h>//створення текстового інтерфейса користувача

using namespace std;// звернення до об'єктів напряму

 

void _tmain()

{

int //опис цілих

float //опис дійсних

}

 
Мова програмування С, С++ » PDF Печать E-mail
Добавил(а) Administrator   
21.09.11 09:55

«Мова програмування С, С++ »

методист лабораторії інформатики ВІППО Гісь Ігор Володимирович

Мета спецкурсу:

·         розвиток логічного, аналітичного мислення та основних видів розумової діяльності: уміння використовувати індукцію, дедукцію, аналіз, синтез, робити висновки, узагальнення;

·         розвиток уміння розв’язувати змістовні задачі різного рівня складності, олімпіадні задачі, користуючись відомими теоретичними положеннями, математичним апаратом, літературою та комп’ютерною технікою;

·         навчити учнів правильному розв’язуванні задач для підготовку учнів до участі в олімпіадах.

Тема

План

Засоби

1.

Розділ «Алгоритмізація і програмування»

-                      кількість годин на вивчення за програмою

-                      «+» і «-» вивчення розділу

-                      тематика вивчення: 1) базові структури алгоритмів; 2)методика складання алгоритмів та їх аналіз; 3) об’єктно-орієнтоване програмування, візуальне програмування.

-                      принцип IPO (input procedure output): визначення місцезнаходження і введення даних; задання операцій над даними; виведення результуючих даних

-                      етапи розв’язування задач з використанням ЕОМ.

презентація «Алгоритмізація і програмування»

 

мозковий штурм

 

аналіз схеми «людина-задача-алгоритм-програма-комп’ютер»

 

додаток: Етапи розв’язування задач

2.

Мови програмування

-          структуровані мови програмування

-          С – Деніс Рітчі (1972)

-          C++ - 80-ті роки, Бьяртні страус труп (1979)

-          середовище Borland C++ 3.1

завантаження і робота в середовищі

3.

Лексеми мови програмування

-          алфавіт мови і ключові слова

-          директиви препроцесора (#include)

-          сталі (const назва=значення)

-          змінні і їх типи; (цілі: int спиок змінних; дійсні: float  змінна=значення; символьний char с1=’A’, c2=65; логічний bool false, true)

-          коментарі // ...

         /* ... */

-          перша програма (структура програми)

приклад структури програми

4.

Присвоєння, вирази, функції

-          = аналіз виразів

-          функції math.h

приклади виразів

5.

Введення і виведення даних

-          stdio.h: scanf (“%d”, &a) &змінна – адреса даних puts (“рядок”); %d –int %f – float %c –char %s – рядок символів

-          conio.h: cin >> змінна; cout << «текст»<< p

приклади рядків введення і виведення

6.

Базові структури

-          слідування

-          розгалуження (==, !=, ! – не, && - і, || - або, IF (логічний вираз) команда 1; else команда 2)

-          вибір (switch (вираз) {case ознака 1: команда 1; break; default: команда}

-          цикл: for ( ) {}, while (умова) {}, do команда while (вираз);

-          підпрограми

додаток з задачами:

приклади розв’язаних задач і задачі для самостійного розв’язування

 

7.

Типи даних

-          масиви

-          рядки

-          вказівники

-          файли

 

Єдиний спосіб вивчати нову мову програмування –

писати на ній програми.
Брайен Керніган

 

Мова формує наш спосіб мислення і визначає те, про що ми можемо думати. Прогрес комп'ютерних технологій визначив процес появи нових різноманітних знакових систем для запису алгоритмів – мов програмування.

C++ - універсальна мова програмування, задумана так, щоб зробити програмування приємнішим для серйозного програміста.  C++ є надмножиною мови програмування C.

 

 

ЗАДАЧІ

Структура програми

#include <stdio.h>

void main()

{

puts("Okey");

}

 

#include <iostream.h>

void main()

{

cout <<"Okey";

}

Слідування

1. Два  резистори  R1  і  R2  з'єднані паралельно. Визначити сумарний  опір за формулою .

2.     Обчислити  відстань  між двома точками з координатами X1,Y1 і X2,Y2  за формулою L=

#include <stdio.h>

#include <math.h>

void main()

{

float x1,y1,x2,y2;

puts("Zadayte x1,y1,x2,y2\n");

scanf("%f%f%f%f",&x1,&y1,&x2,&y2);

float l=sqrt(pow((x1-x2),2)+pow(y1-y2,2));

printf("L=%f\n",l);

}

 

3.   В  рядку  S  символів,  на  сторінці  R рядків. Скільки символів в книжці, у якої N сторінок?

За скільки хвилин учень прочитає книгу, якщо він одну сторінку читає за T хвилин?

#include <stdio.h>

void main()

{

int s,r,n,t;

puts("Zadayte s,r,n, t\n");

scanf("%d%d%d%d",&s,&r,&n, &t);

int a=s*r*n;

printf("A=%d\n",a);

int b=a/t;

printf("B=%d\n",b);

int g,h;

g=b/60; h=b%60;

printf("%d:%d",g,h);

}

4. Скільки  лампочок потрібно, щоб освітити вулицю довжиною D км, як­­­ що стовпи з ліхтарями стоять на відстані V м?

5. Одна  серія фільму по телевізору триває F хв. Скільки часу в годи­­нах необхідно, щоб переглянути N серій?

Розгалуження

6. Знайти максимальне значення серед двох чисел введених з клавіатури.

#include <stdio.h>

void main()

{

int a,b,max;

printf("a=");

scanf("%d",&a);

printf("b=");

scanf("%d",&b);

if (a>b) max=a; else max=b;

printf("max=%d",max);

}

 

7. Знайти максимальне значення серед трьох чисел введених з клавіатури.

#include <stdio.h>

void main()

{

int a,b,c,max;

printf("a=");

scanf("%d",&a);

printf("b=");

scanf("%d",&b);

printf("c=");

scanf("%d",&c);

 

if (a>=b && a>=c) max=a;

if (b>=a && b>=c) max=b;

if (c>=a && c>=b) max=c;

printf("max=%d",max);

}

8. Введене число перевірити: додатне, від'ємне чи дорівнює нулю.

9. Напишіть програму перевірки знання додавання трьох введених чисел.

10. За трьома сторонами перевірити, чи трикутник прямокутний.

11.Введене число перевірити: менше, більше чи дорівнює воно 100.

12. Перевірити, чи існує трикутник із сторонами A, B, C.

 

 

 


 

 

Цикл

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();

}

 

 


Статистика

Пользователей : 152
Статей : 220
Просмотрено статей : 88159

Вход/Регистрация

Нет