Смекни!
smekni.com

Програмний продукт Pacific З Compiler (стр. 8 из 8)

kol++; //Збільшуємо лічильник kol на одиницю

}

if (kol==2) //Умова: якщо кількість дорівнює 2, виводимо:

{

cout<<"2 3 5 7"<<"&bsol;n"<<"11 13 17 19"<<"&bsol;n";

goto p; //Перехід до мітки р:

}

else //інакше – виводимо:

{

cout<<"2 3 5 7"<<"&bsol;n"<<"11 13 17 19"<<"&bsol;n";

str1[0]=1; //

str2[0]=1; //Першим елементам матриць присвоюємо значення 1

str3[0]=1; //

str4[0]=1; //

str1[kol-1]=1; //

str2[kol-1]=3; //

str3[kol-1]=7; //Останнім елементам матриць присвоюємо відповідні

str4[kol-1]=9; // значення

for (i=1;i<=kol-2;i++) //Задаємо цикл

{

str1[i]=0; //

str2[i]=0; //Між першим та останнім елементами матриць всі елементи

str3[i]=0; //будуть дорівнювати 0

str4[i]=0; //

}

for (i=0;i<=3;i++) //Задаємо цикл

cout<<str1[i]; //Виводимо елементи матриці str1

cout<<" ";//Ставимо пробіл

for (i=0;i<=3;i++)//Задаємо цикл

cout<<str2[i]; //Виводимо елементи матриці str2

cout<<" ";//Ставимо пробіл

for (i=0;i<=3;i++)//Задаємо цикл

cout<<str3[i];//Виводимо елементи матриці str3

cout<<" ";//Ставимо пробіл

for (i=0;i<=3;i++)//Задаємо цикл

cout<<str4[i]; //Виводимо елементи матриці str4

cout<<" ";//Ставимо пробіл

}

p:;//Мітка р:

cout<<"&bsol;n"<<"Для виходу введіть EXIT:"<<"&bsol;n"; //Даємо запит

cin>>W; //Вводимо зайву перемінну W для затримки екрану

}//Кінець функції main()

2.30 Обчислення числа Фібоначі

Програма Proga30.срр призначена для обчислення числа Фібоначі з номером N

Вхідні дані: число n (тип int)

Вихідні дані: масиви чисел Фібоначі (тип double)

Блок-схема до програми Proga30.срр представлена на рисунку 2.9

#include<iostream.h> //Підключаємо бібліотеку iostream.h

void main() //Оголошуємо головну функцію main()

{

int i,n,W; //Оголошуємо перемінні I,n,W цілого типу

double a[50]; //та масив а типу (double)

cout<<"Числа Фібоначі:"<<"&bsol;n"; //Виводимо повідомлення

cout<<"Введіть n до 30"<<"&bsol;n "<<"k="; //Даємо запит

cin>>n; //Вводимо число n

a[1]=1; //Першому та другому елементам матриці а

a[2]=1; // присвоюємо значення 1

for(i=3;i<=n;i++) //Задаємо цикл

a[i]=a[i-1]+a[i-2]; // і-ий елемент матриці а дорівнює:

for(i=1;i<=n;i++) //Задаємо цикл

cout<<a[i]<<" "<<'&bsol;n'; //Виводимо елементи матриці а

cout<<"&bsol;n"<<"Для виходу введіть EXIT:"<<"&bsol;n"; //Даємо запит

cin>>W; //Вводимо зайву перемінну W для затримки екрану

}//Кінець функції main()


Рисунок 2.9 Блок-схема алгоритму до програми Proga30.срр

2.31 Видалення з рядку певних символів

Програма Proga1_1.срр призначена для видалення з рядку S1 усіх символів, які зустрічаються в рядку S2

Вхідні дані: рядок str1 (тип char)

рядок str2 (тип char)

Вихідні дані: Змінений рядок str1 (тип char)

#include <iostream.h> //Підключаємо бібліотеки iostream.h,

#include <string.h> //та math.h

char func(char str3[10],char str4[10])//Оголошуємо функцію, яка по

{ //заданим рядкам S1 та S2,

for(int i=0;str3[i]+='&bsol;0';i++) //видаляє з рядка S1 всі символи

for(int j=0;str4[j]+='&bsol;0';j++) //які зустрічаються в рядку S2

{ //

if(str3[i]==str4[j]) //

cout<<str4[j+1]; //

else cout<<str3[i]; //

} //

return 0; //

} //

void main() //Оголошуємо головну функцію main()

{

int W; //Оголошуємо перемінну W цілого типа,

char str1[10]; //матриці str1 таstr2 символьного типу

char str2[10];

cout<<"Введіть рядок 1: "; //Даємо запит

cin>>str1; //Вводимо перший рядок

cout<<"Введіть рядок 2: "; //Даємо запит

cin>>str2; //Вводимо другий рядок

func(str1,str2); //Викликаємо функцію func

cout<<"&bsol;n"; //Переводимо курсор на новий рядок

cout<<"&bsol;n"<<"Для виходу введіть EXIT:"<<"&bsol;n"; //Даємо запит

cin>>W; //Вводимо зайву перемінну W для затримки екрану

}//Кінець функції main()

2.32 Сума двох рядків

Програма Proga2_2.срр призначена для формування рядка-суми двох рядків, якщо подані два символьних рядка, які складаються тільки з цифр.

Вхідні дані: рядок STRING1 (тип char)

рядок STRING2 (тип char)

Вихідні дані: рядок STRING3 (тип char)

#include<iostream.h> //Підключаємо бібліотеки iostream.h,

#include<stdlib.h> //та math.h

void main() //Оголошуємо головну функцію main()

{

char STRING1[50]={0};//Оголошуємо символьну матрицю STRING1,

char STRING2[50]={0};//матрицю STRING2,

int i,N1,N2; //та змінні I,N1,N2

cout<<"Скільки елементі вбуде в вашому рядку 1? "; //Вводимо запит

cin>>N1; //Вводимо кількість елементів першого рядка

cout<<"Введіть рядок 1: "; //Даємо запит

for(i=0;i<N1;i++) //Задаємо цикл

cin>>STRING1[i]; //Вводимо цифри першого рядка

cout<<" Скільки елементі вбуде в вашому рядку 2? "; //Вводимо запит

cin>>N2; //Вводимо кількість елементів другого рядка

cout<<" Введіть рядок 2: ";//Даємо запит

for(i=0;i<N2;i++) //Задаємо цикл

cin>>STRING2[i]; //Вводимо цифри другого рядка

double long l1=atol(STRING1); //Змінній l1 присвоюємо функцію atol

//яка обертає рядок STRING1 на одне число типу double long

double long l2=atol(STRING2); //Змінній l2 присвоюємо функцію atol

double long l3=l1+l2; //Змінній l3 присвоюємо суму l1 та l2

cout<<"l3="<<l3<<"&bsol;n";//Виводимо відповідь

cout<<"&bsol;n"<<"Для виходу введіть EXIT:"<<"&bsol;n"; //Даємо запит

cin>>W; //Вводимо зайву перемінну W для затримки екрану

}//Кінець функції main()

2.33 Редагування тексту

Програма Proga33.срр призначена для редагування тексту так, щоб між словами був рівно один пробіл, а між реченнями рівно два

Вхідні дані: рядок символів S (тип char)

Вихідні дані: відредагований рядок S (тип Char)

Блок-схема до програми Proga33.срр представлена на рисунку 2.10

#include<conio.h> //Підключаємо бібліотеки conio.h

#include<stdio.h> //та stdio.h

void main() //оголошуємо головну функцію main()

{

char S[80],i; //оголошуємо символьний масив з 80 елементів та

// символьну перемінну i

printf("Введіть ваш рядок. В кінці поставте @:&bsol;n"); //Вводимо рядок,

gets(S); //який закінчується на @

i=0; //Задаємо початкове значення параметра i

while((S[i]!='@'))

{

if (S[i]=='.') //Задаємо умову знаходження крапки в рядку

{ //якщо крапка знайдена,

printf(". "); //виводимо крапу з двома пробілами

}

else printf("%c",S[i]); //інакше виводимо елемент на своєму місці

i+=1; //Збільшуємо лічильник на одиницю

}

printf("&bsol;n"); //Переводимо курсор на новий рядок

getch(); //Затримуємо екран

} //Кінець функції main()


Ні Так


Рисунок 2.10 Блок-схема алгоритму до програми Proga33.срр

2.34 Копіювання одного рядка в інший

Програма Proga4_4.срр призначена копіювання одного тексту в інший так, щоб літери “новий рядок” та “табуляція” перетворювалися у видимі послідовності літер &bsol;nта &bsol;t

Вхідні дані: рядок символів Str1 (тип char)

рядок символів Str2 (тип char)

Вихідні дані: новий рядок str3 (тип Char)

#include<conio.h> //Підключаємо бібліотеки conio.h,

#include<stdio.h> //stdio.h

#include<string.h> //та string.h

char func(char str3[180],char str4[180]) //Оголошуємо функцію func,

{ //яка по заданим двом рядкам

int i; char str5[180]; //копіює другий рядок в кінець

//першого та перетворює літери

strncat(str3,str4,80); //”новий рядок” та “табуляція”

printf("&bsol;n"); //у видимі послідовності літер

//&bsol;n та &bsol;t

i=0;

while(str3[i]!=EOF)

{

if (str3[i]=='&bsol;n')

printf("&bsol;n");

else if (str3[i]=='&bsol;t')

printf("&bsol;t");

else printf("%c",str3[i]);

i+=1;

}

return 0;

}

void main() //Оголошуємо головну функцію main()

{

char str1[180],str2[180] //Оголошуємо дві символьних матриці

printf("Введіть ваш перший рядок:&bsol;n"); //Даємо запит

gets(str1);//Вводимо перший рядок символів

printf("Введіть ваш другий рядок:&bsol;n"); //Даємо запит

gets(str2); //Вводимо другий рядок символів

func(str1,str2); //Викликаємо функцію func

printf("&bsol;n"); //Переводимо курсор на новий рядок

getch(); //Затримуємо екран

} //Кінець функції main()


Перелік посилань

1. Глушаков С.В.,Коваль А.В.,Смирнов С.В. Язык программирования С++. – Харьков: «Фолио», Ростов-на-Дону: «Феникс», 2001.

2. Керниган Б. Ричи Д. Язык программирования Си – М. Финансы и статистика, 1992. – 272 с.

3. Хэфилд Ричард, Кирби Лоуренс и др. Искусство программирования на Си. Фундаментальные алгоритмы, структуры данных и примеры приложений. Энциклопедия программистов «ДиаСофт». 2001. – 736 с.