- •Лабораторная работа №1 Программирование алгоритмов линейной и разветвляющейся структуры. Организация циклов в программе. Составление выражений
- •Задание №1
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Задание №2
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Лабораторная работа №2 Работа с массивами. Одномерные статические массивы. Многомерные динамические массивы
- •Задание №1
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Задание №2
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Задание №3
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Лабораторная работа №3 Работа со строками. Динамические одномерные массивы
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Лабораторная работа №4 Работа со структурами. Вложенные структуры. Массивы структур Задание 1
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Задание 2
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •6 Лабораторная работа №5 Программирование и использование функций
- •Void main()
- •Void main()
- •Лабораторная работа №6 Работа с файлами
- •Void main()
- •Void main()
- •Void main()
Void main()
{
setlocale(LC_ALL,"Russian");
const int n=100;//размерность массива
int k=n;//кол-во введенных данных
//структура
struct vyp{//вложенная структура выпуск
int god;//год выпуска
char firm[10];//фирма-производитель
};
struct album{//структура муз. альбом
char name[20];//название
int kol;//кол-во песен
struct vyp vyp1;//влож. выпуск
};
struct album mas[n];//массив структур
for (int i=0;i<n;i++){//заполнение
cout<<"Введите название: ";
cin>>mas[i].name;
cout<<"Введите кол-во песен: ";
cin>>mas[i].kol;
cout<<"Введите год выпуска: ";
cin>>mas[i].vyp1.god;
cout<<"Введите фирму-производитель: ";
cin>>mas[i].vyp1.firm;
cout<<"Продолжить ввод? y- да, n-нет. ";
char x;
cin>>x;
if (x=='n'){
k=i+1;
break;
}
else;
}
for (int i=0;i<k;i++)//вывод
cout<<mas[i].name<<"\t"<<mas[i].kol<<"\t"<<mas[i].vyp1.god<<"\t"<<mas[i].vyp1.firm<<endl;
struct album temp;//временная структура
char l;
cout<<"Выберите поле для сортировки: 1 - название, 2 - кол-во песен: ";//диалог с пользователем
cin>>l;
if (l=='1'){//сортировка по названию
for (int i=0;i<k-1;i++)
for (int j=0;j<k-i-1;j++)
if (strcmp(mas[j].name,mas[j+1].name)>0){
temp=mas[j];
mas[j]=mas[j+1];
mas[j+1]=temp;
}
cout<<"После сортировки: "<<endl;//вывод
for (int i=0;i<k;i++)
cout<<mas[i].name<<"\t"<<mas[i].kol<<"\t"<<mas[i].vyp1.god<<"\t"<<mas[i].vyp1.firm<<endl;
}
if (l=='2'){//сортировка по количеству песен
for (int i=0;i<k-1;i++)
for (int j=0;j<k-i-1;j++)
if (mas[j].kol>mas[j+1].kol){
temp=mas[j];
mas[j]=mas[j+1];
mas[j+1]=temp;
}
cout<<"После сортировки: "<<endl;//вывод
for (int i=0;i<k;i++)
cout<<mas[i].name<<"\t"<<mas[i].kol<<"\t"<<mas[i].vyp1.god<<"\t"<<mas[i].vyp1.firm<<endl;
}
else;
}
6 Лабораторная работа №5 Программирование и использование функций
Варианты заданий
Написать функцию, подсчитывающую количество слов, символов и предложений в тексте. Текст вводится с клавиатуры в динамический массив, указатель на который передается функции в качестве параметра.
#include "stdafx.h"
#include <iostream>
#include <locale>
#include <stdio.h>
#include <string.h>
using namespace std;
void podchet(char mas[],int n)//функция подсчета
{
int slov=0;//кол-во слов
int pred=0;//кол-во предложений
for (int i=0;i<n;i++){
if (mas[i]==' ')//подсчет слов
slov++;
if (mas[i]=='.'||mas[i]=='!'||mas[i]=='?')//подсчет предлодений
pred++;
}
cout<<"Символов: "<<n<<", слов: "<<slov+1<<", предложений: "<<pred<<endl;//вывод
}
int main()
{
setlocale(LC_ALL,"Russian");
char *a=new char[];
cout<<"Введите строку: ";//диалог с пользователем
gets(a);
int len=strlen(a);//длина строки
podchet(a,len);//вызов функции
}
Написать функцию, конвертирующую в тексте, указатель на который передан ей в качестве параметра, большие буквы на маленькие и наоборот.
#include "stdafx.h"
#include <ctype.h>
#include <iostream>
#include <locale>
#include <stdio.h>
#include <string.h>
using namespace std;
void konvert(char mas[],int n)//функция конвертации
{
char *b=new char[];
for (int i=0;i<n;i++){
if (islower(mas[i]))//для букв нижнего регистра
b[i]=toupper(mas[i]);
if (isupper(mas[i]))//для букв верхнего регистра
b[i]=tolower(mas[i]);
if (mas[i]==' ')//для пробела
b[i]=' ';
}
for (int i=0;i<n;i++)//вывод
cout<<b[i];
cout<<endl;
}