- •Курсовая работа по технологии программирования
- •Постановка задачи
- •1.2 Программа решения задачи 1.1
- •1.3 Результат работы программы
- •1.4 Объяснение результатов
- •1.5 Программа решения задачи 1.2
- •1.6 Результат работы программы
- •Лабораторная работа №2 «Использование основных операторов языка Си»
- •2.1 Постановка задачи
- •2.2 Программа решения задачи
- •2.3 Результат работы программы
- •Лабораторная работа №3 «Вычисление функций с использованием их разложения в степенной ряд»
- •3.1 Постановка задачи
- •Программа решения задачи
- •Результат работы программы
- •Лабораторная работа №4 «Работа с одномерными массивами»
- •4.1 Постановка задачи
- •Программа решения задачи
- •Результат работы программы
- •Лабораторная работа №5 «Функции и массивы»
- •Постановка задачи
- •Программа решения задачи
- •Результат работы программы
- •Лабораторная работа №6 «Строки»
- •Постановка задачи
- •Программа решения задачи
- •Результат работы программы
- •Постановка задачи
- •Программа решения задачи
- •Результат работы программы
- •Лабораторная работа №7.2 «Функции с переменным числом параметров»
- •Постановка задачи
- •Программа решения задачи
- •Результат работы программы
- •Лабораторная работа №8 «Блоковый ввод-вывод»
- •Постановка задачи
- •Программа решения задачи
- •Результат работы программы
- •Лабораторная работа №9 «Строковый ввод-вывод»
- •Постановка задачи
- •Программа решения задачи
- •Результат работы программы
- •11. Лабораторная работа №10 «Динамические массивы»
- •11. 1 Постановка задачи
- •2 Программа решения задачи
- •11.3 Результат работы программы
- •Лабораторная работа №11 «Информационные динамические структуры»
- •Постановка задачи
- •Программа решения задачи
- •12.3 Результат работы программы
Результат работы программы
Рис. 8 Результат работы программы 7.1 для десятичных дробей
Рис. 9 Результат работы программы 7.1 для обычных дробей
Лабораторная работа №7.2 «Функции с переменным числом параметров»
Постановка задачи
Написать функцию kvadr с переменным числом параметров, которая определяет количество чисел, являющихся точными квадратами (2, 4, 9, 16,. . . ) типа int. Написать вызывающую функцию main, которая обращается к функции kvadr не менее трех раз с количеством параметров 3, 7, 11.
Программа решения задачи
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <conio.h>
#include <math.h>
//---------------------------------------------------------------------------
/*
10. Написать функцию kvadr с переменным числом параметров, которая определяет количество чисел,
являющихся точными квадратами (2, 4, 9, 16,. . . ) типа int. Написать вы-зывающую функцию main,
которая обращается к функции kvadr не менее трех раз с количеством параметров 3, 7, 11. */
#pragma argsused
char* Rus(const char* text);
int kvadr(int m,...) //функция, считающая количество точных квадратов
{
int *p=&m+1; //настраиваем указатель на параметр m
int k=0; //счетчик количества квадратов
int kor; //переменная для хранения корня
for ( ; m!=0; m-- )
{
kor=sqrt(*p); //извлекаем корень из числа, записываем его без дробной части
if(kor*kor==*p) k++; //возводим корень в квадрат, проверяем
p++; //переходим к следующему элементу
}
return k;
}
int main(int argc, char* argv[])
{
int n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11;
int ch;
cout << Rus("Сколько чисел вы хотите проверить(3,7 или 11)? ");
cin >> ch; //переменная для хранения кода выбора
if (ch==3)
{
cout << Rus("Введите 3 числа: ");
cin >> n1 >> n2 >> n3;
cout << Rus("Количество точных квадратов: ") << kvadr(3,n1,n2,n3);
}
if (ch==7)
{
cout << Rus("Введите 7 чисел: ");
cin >> n1 >> n2 >> n3 >> n4 >> n5 >> n6 >> n7;
cout << Rus("Количество точных квадратов: ") << kvadr(7,n1,n2,n3,n4,n5,n6,n7);
}
if (ch==11)
{
cout << Rus("Введите 11 чисел: ");
cin >> n1 >> n2 >> n3 >> n4 >> n5 >> n6 >> n7 >> n10 >> n11;
cout << Rus("Количество точных квадратов: ") << kvadr(11,n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11);
}
getch();
return 0;
}
char bufRus[256];
char* Rus(const char* text){
CharToOem(text, bufRus);
return bufRus;
}
Результат работы программы
Рис. 10. Результат работы программы 7(2)
Лабораторная работа №8 «Блоковый ввод-вывод»