Int found; // признак совпадения с образцом
int i;
printf("ХпПоиск в массиве методом перебораХп");
printf("Введите в одной строке %i целыхХп", НВ);
printf("чисел и нажмите <Enter>\n");
printf("->");
for (i = 0 ; i < НВ; i++)
scanf("%i", &m[i]);
printf("Введите образец для поиска (целое число)->");
scanf("%i", &obr);
// поиск простым перебором
found = 0;
i == 0; // проверяем с первого элемента массива
do {
if (m[i] == obr )
found = 1 ; // совпадение с образцом
else i++; // переход к следующему элементу
} while (!found && i < НВ);
If ( found )
printf("Совпадение с элементом номер %i", i+1);
Else
printf("Совпадений с образцом нет");
printf("\пДля завершения работы нажмите <Enter>");
getch();
}
10. Написать программу, которая проверяет, является ли введенная с клавиатуры строка шестнадцатеричным числом.
11. Написать программу, которая проверяет, является ли введенная с клавиатуры строка шестнадцатеричным числом.
12. Написать программу, которая проверяет, является ли введенная с клавиатуры строка шестнадцатеричным числом.
Ответ:
// Проверяет, является ли введенная строка
// шестнадцатеричным числом
#include <stdio.h>
#include <conio.h>
#include "string.h"
Void mainO
{
char St[20]; // строка
Int i; // номер проверяемого символа
printf("ХпВведите шестнадцатеричное число ->");
scanf("%s", &st);
Strupr(st); // преобразуем к верхнему регистру
i = 0;
while ((st[i] >- 'О* && st[i] <= '9') I I
(st[i] >= 'A' && st[i] <= 'F'))
i++;
printf("Строка " );
// если st[i] != 'ХОЧ
// то i - номер первого ошибочного символа
if ( st[i] )
printf("не " );
printf ("является шестнадцатеричным числомЛп");
printf("ХпДля завершения нажмите <Enter>");
getch();
}
13. Написать функцию, которая сравнивает два целых числа и возвращает результат сравнения в виде одного из знаков: >, < или =. (187)
Ответ:
// Функция compare возвращает результат сравнения чисел
//в виде символа отношения
#include "stdio.h"
#include "conio.h"
char compare(int a, int b)
{
char res;
if (a > b) res = '>';
else if (a < b) res = *<';
else res = *=';
return(res);
}
Void mainO
{
Int xl,x2; // сравниваемые числа
Cheu: res; // результат сравнения
puts("Введите два целых числа и нажмите <Enter>");
printf("->");
scanf("%i%i", &xl, &x2);
res = compare(xl,x2); // вызов функции программиста
printf("%i %c %i\n", xl, res, x2);
puts("\nДля завершения работы программы \
нажмите <Enter>");
getch();
}
14. Написать функцию, которая выводит на экран строку, из слов, разделяемых символами подчеркивания вместо пробелов.
(-)
15. Напишите программу, которая дописывает в файл D:\numbers.txt пять введенных пользователем целых чисел. Убедитесь при помощи редактора текста, что в файле находятся новые числа.
// laba3.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include "iostream"
#include <conio.h>
#define FNAME "d:\\sgibnev\\phones.txt\0" // имя файла
// дописывает в находящийся на диске D: файл
//целые числа, введенные пользователем
using namespace std;
int _tmain()
{
char fname [50] = FNAME;
FILE *f; // файл чисел
Char n;// число
puts("\n Adding the new nomber to the book \n");
//открыть файл в режиме добавленмя (a) текста (t)
//если файла с таким именем нет, то он будет создан
if ((f=fopen(fname, "at")) == NULL)
{
printf("Error in file open operation! \n");
getch();
return 0;
}
// получим данные от пользователя
int i;
for(i=0;i<5;i++){
printf("4islo ->");
scanf("%s", &n);
// и запишим их в файл
fprintf(f,"%c\n", n);}
puts("\n Data were added.");
Fclose(f); // закрытие файла
// открытие для чтения
if ((f = fopen(fname, "rt")) == NULL)
{
printf("Error in file open operation! %c \n", fname);
getch();
return 0;
}
printf("\nContent of file is following: \n");
while (!feof(f))
{
fscanf(f,"%c \n", &n );
printf("%c \n", n);
}
Fclose(f); // Закрытие фала
printf("\n Press enter for finish <Enter>\n");
getch();
return 0;
}
16. Напишите программу, которая на сменном диске компьютера (диск D:) создает файл numbers.txt и записывает в него 5 введенных пользователем целых чисел. Просмотрите при помощи редактора текста, например, встроенного в Norton Commander, созданный файл. Убедитесь, что каждое число находится в отдельной строке.
Смотреть 15 ответ
Неуверен что правильно но… =)
17. Создать класс Fraction для работы с дробными числами. Число должно быть представлено двумя полями: целая часть — длинное целое со знаком, дробная часть — беззнаковое короткое целое. Реализовать методы инициализации, считывания у пользователя, вывода на экран информации о точке, реализовать арифметические операции сложения, вычитания, сравнения.
(Смотреть последний вопрос)
18. Реализовать тип данных с помощью структуры-пары (с двумя полями first и second), в которой есть методы: метод инициализации Init, ввод с клавиатуры Read, вывод на экран Display. Реализовать внешнюю функцию с именем make_тип(), где тип — тип реализуемой структуры. Функция должна получать в качестве аргументов значения для полей структуры и возвращать структуру требуемого типа.
Поле first — дробное число, левая граница диапазона; поле second — дробное число, правая граница диапазона. Реализовать метод rangecheck() — проверку заданного числа на принадлежность диапазону
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <math.h>
using namespacestd;
structjak
{ floatfirst;
floatsecond;
voidInit()
{first=0;
second=0;
}
voidRead(floata,floatb)
{first=a;
second=b;
}
voidDisplay()
{cout<<"Diapozon ["<<first<<";"<<second<<"]";
}
voidrangechekc(floatx)
{ if(x>=first&&x<=second)
{ cout<<" X prinadlegit";
}
Else
{cout<<" X ne prinadlegit";
}
}
};
jak make(floata,floatb)
{ jak f;
f.Read(a,b);
returnf;
}
.
19. Реализовать тип данных с помощью структуры-пары (с двумя полями first и second), в которой есть методы: метод инициализации Init, ввод с клавиатуры Read, вывод на экран Display. Реализовать внешнюю функцию с именем make_тип(), где тип — тип реализуемой структуры. Функция должна получать в качестве аргументов значения для полей структуры и возвращать структуру требуемого типа.
Поле first — дробное число, левая граница диапазона; поле second — дробное число, правая граница диапазона. Реализовать метод rangecheck() — проверку заданного числа на принадлежность диапазону
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <math.h>
using namespacestd;
structjak
{ floatfirst;
floatsecond;
voidInit()
{first=0;
second=0;
}
voidRead(floata,floatb)
{first=a;
second=b;
}
voidDisplay()
{cout<<"Diapozon ["<<first<<";"<<second<<"]";
}
voidrangechekc(floatx)
{ if(x>=first&&x<=second)
{ cout<<" X prinadlegit";
}
Else
{cout<<" X ne prinadlegit";
}
}
};
jak make(floata,floatb)
{ jak f;
f.Read(a,b);
returnf;
}
20. Реализовать тип данных с помощью структуры-пары (с двумя полями first и second), в которой есть методы: метод инициализации Init, ввод с клавиатуры Read, вывод на экран Display. Реализовать внешнюю функцию с именем make_тип(), где тип — тип реализуемой структуры. Функция должна получать в качестве аргументов значения для полей структуры и возвращать структуру требуемого типа.
Поле first — дробное число, левая граница диапазона; поле second — дробное число, правая граница диапазона. Реализовать метод rangecheck() — проверку заданного числа на принадлежность диапазону.
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <math.h>
using namespacestd;
structjak
{ floatfirst;
floatsecond;
voidInit()
{first=0;
second=0;
}
voidRead(floata,floatb)
{first=a;
second=b;
}
voidDisplay()
{cout<<"Diapozon ["<<first<<";"<<second<<"]";
}
voidrangechekc(floatx)
{ if(x>=first&&x<=second)
{ cout<<" X prinadlegit";
}
Else
{cout<<" X ne prinadlegit";
}
}
};
jak make(floata,floatb)
{ jak f;
f.Read(a,b);
returnf;
}
21. Создать класс Point для работы с точками на плоскости. Координаты точки — декартовы. Реализовать методы инициализации, считывания у пользователя, вывода на экран информации о точке, метод определение расстояния до начала координат, расстояния между двумя точками.
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <math.h>
using namespacestd;
classPoint
{ public:
Point()
{
x=0;
y=0;
}
voidReadUSER(floata,floatb)
{ x=a;
y=b;
}
voidDisplay()
{cout<<"Koordinata x:"<<x<<" Koordinata y:"<<y;
}
voidTurnofX(floata)
{x+=a;
}
voidTurnofY(floatb)
{
y+=b;
}
static floatRass(Point a,Point b)
{ floatrass1;
floatrass;
floatrass2;
rass1=pow((a.x-b.x),2);
rass2=pow((a.y-b.y),2);
rass=pow(rass1+rass2,0.5);
returnrass;
}
floatRassko()
{floatrass;
rass=pow((x*x+y*y),0.5);
returnrass;
}
protected:
floatx;
floaty;
}
22. Создать класс Point для работы с точками на плоскости. Координаты точки — декартовы. Реализовать методы инициализации, считывания у пользователя, вывода на экран информации о точке, перемещение точки по оси X, перемещение по оси У, сравнение на совпадение и несовпадение,
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespacestd;
classPoint
{ public:
Point()
{
x=0;
y=0;
}
voidReadUSER(floata,floatb)
{ x=a;
y=b;
}
voidDisplay()
{cout<<"Koordinata x:"<<x<<" Koordinata y:"<<y;
}
voidTurnofX(floata)
{x+=a;
}
voidTurnofY(floatb)
{
y+=b;
}
static voidSovpad(Point a,Point b)
{if(a.x==b.x&&a.y==b.y)
{cout<<"Sovpadayt";
}
Else
{cout<<"Ne sovpadayt";
}
}
protected:
floatx;
floaty;
};
23. Создать класс Fraction для работы с дробными числами. Число должно быть представлено двумя полями: целая часть — длинное целое со знаком, дробная часть — беззнаковое короткое целое. Реализовать методы инициализации, считывания у пользователя, вывода на экран информации о точке, реализовать арифметические операции сложения, вычитания, сравнения.
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespacestd;
classFraction
{ protected:
longfirst;
unsigned shortsecond;
public:
Fraction()
{first=0;
second=0;
}
voidRead(longa,unsigned shortb)
{first=a;
second=b;
}
voidDisplay()
{cout<<"Chislo:"<<first<<"."<<second;
}
static voidSumma(Fraction d,Fraction e)
{ cout<<"Summa:"<<d.first+e.first<<"."<<d.second+e.second;
}
static voidRaz(Fraction d,Fraction e)
{ cout<<"Summa:"<<d.first-e.first<<"."<<d.second-e.second;
}
static voidSrav(Fraction d,Fraction e)
{ if(d.first==e.first&&d.second==e.second)
{ cout<<"Ravny";
}
Else
{if((d.first-e.first)>0)
{cout<<">";}
Else
{cout<<"<";
}}}}