RSS    

   Отчет по практике: Програмний продукт Pacific З Compiler


Блок-схема: решение: n3>=6                                  Ні                            Так

p:;

 


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

2.29 Знаходження четвірок простих чисел

Програма Proga29.срр призначена для знаходження четвірок простих чисел не перевищуючих N, якщо задане N>19

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

Вихідні дані: четвірки простих чисел

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

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

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

{

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

char str1[10],str2[10],str3[10],str4[10];//та символьні матриці

cout<<"Введіть число >19 "; //Даємо запит

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

kol=0; //змінній kol присвоюємо початкове значення 0

for(;N>0;) //Задаємо цикл

{

N=(N-N%10)/10; //Знаходимо цифри числа а

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

}

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

{

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

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

}

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

{

cout<<"2 3 5 7"<<"\n"<<"11 13 17 19"<<"\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<<"\n"<<"Для виходу введіть EXIT:"<<"\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<<"Числа Фібоначі:"<<"\n"; //Виводимо повідомлення

cout<<"Введіть n до 30"<<"\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]<<" "<<'\n'; //Виводимо елементи матриці а

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

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

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

Блок-схема: данные: Cin&gt;&gt;n;
Скругленный прямоугольник: Кінець


Рисунок 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]+='\0';i++) //видаляє з рядка S1 всі символи

for(int j=0;str4[j]+='\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<<"\n"; //Переводимо курсор на новий рядок

cout<<"\n"<<"Для виходу введіть EXIT:"<<"\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<<"\n";//Виводимо відповідь

cout<<"\n"<<"Для виходу введіть EXIT:"<<"\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("Введіть ваш рядок. В кінці поставте @:\n"); //Вводимо рядок,

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

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

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

{

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

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

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

}

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

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

}

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

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

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

Блок-схема: данные: Gets (s);


 Ні Так

Параллелограмм: printf(“.  ”);
Блок-схема: альтернативный процесс: КІнець


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

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

Програма Proga4_4.срр призначена копіювання одного тексту в інший так, щоб літери “новий рядок” та “табуляція” перетворювалися у видимі послідовності літер \n та \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("\n"); //у видимі послідовності літер

//\n та \t

i=0;

while(str3[i]!=EOF)

{

if (str3[i]=='\n')

printf("\n");

else if (str3[i]=='\t')

printf("\t");

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

i+=1;

}

return 0;

}

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

{

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

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

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

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

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

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

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

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

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


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

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

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

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


Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

Обратная связь

Поиск
Обратная связь
Реклама и размещение статей на сайте
© 2010.