Расчет определителя 2-го порядка по введенным четырем целым числам
Функции преобразования вещественных чисел в строку символов.
· char *ecvt(double value,int ndigits, int *decptr,int *signptr); (stdlib.h)
· char *fcvt(double value,int ndec, int *decptr,int *signptr); (stdlib.h)
· char *gcvt(double value,int ndec, char *buffer); (stdlib.h)
Эти функции применяют для вывода значений переменных в графическом режиме.
Функция ecvt
Прео
бразовывает число с плавающей точкой двойной точности в строку символов. При этом функция возвращает указатель на строку, а строка содержит ndigits цифр числа value, и нулевой байт. Если цифр в числе value больше, чем указано параметром ndigits, то отсекаются младшие разряды. Если цифр в числе value меньше, чем указано в параметре ndigits, число дополняется нулями. Возвращаемая строка содержит только цифры. Позиции точки и знака стоят на 3 и 4 местах, *decptr указывает на целое число, значение которого определяет позицию десятичной точки. '\0', или отрицательное значение говорят о том, что десятичная точка стоит слева от первой цифры, например:
Число |
Правильное значение decptr |
0.0007568905123 |
-3 |
0.7568905123 |
0 |
75.68905123 |
2 |
Если signptr==0, то число положительное, при остальных значениях – отрицательное.
Число значащих цифр после запятой для формата float – 6, для формата double – 16.
Функция fcvt
Работает так же, как и предыдущая функция, но параметр ndec определяет не общее количество цифр в строке, а количество цифр после десятичной точки. Если число цифр после десятичной точки в числе value больше, чем параметр ndec, то число округляется. Если меньше, то строка дополняется нулями.
Функция gcvt
Функция преобразует число в строку в определённом формате, помещая ”знак”, и десятичную точку. Может применяться для разметки осей координат. Преобразует число value в строку символов по адресу *buffer, и возвращает указатель на ту же строку. Записывает в строку все цифры. Размер строки *buffer должен быть достаточно большим. Пытается преобразовать строку в f-формате(%f). Если места в строке buffer будет недостаточно, функция преобразует строку в е-формат (%е). Незначащие нули при преобразовании подавляются.
Функции преобразования целых чисел в строку символов.
· char *itoa (int value, char *string, int radix) (stdlib.h)
· char *ltoa (long int value, char *string, int radix) (stdlib.h)
· char *ultoa (unsigned long int value, char *string, int radix) (stdlib.h)
Функция itoa
Функция преобразует число целого типа int и воpвращает строку string. Параметр radix определяет систему счисления для представления результата. radix может изменяться от 2 до 36. Если value отрицательно, а radix равен 10, то первый знак “-”.
Функция ltoa
Функция работает так же, как и itoa, но преобразует в строку число типа long int – длинное целое.
Функция ultoa
Функция работает так же, как и itoa, но преобразует в строку число типа unsigned long int – беззнаковое длинное целое.
Пример:
#include <stdio.h>
#include <stlib.h>
void main()
{
int value=5382;
char string[10];
itoa(value,string,10);
printf(“Строка string: %s”,string);
value=37;
itoa(value,string,2);
printf(“Строка string: %s”,string);
}
Результат работы программы:
Строка string: 5382
Строка string: 100101
8. Написать программу БЕГУЩАЯ СТРОКА в текстовом режиме экрана. Заданная строка появляется слева в центре экрана и перемещается направо, после того, как она скроется справа, она вновь появляется слева
Программа:
/*Программа БЕГУЩАЯ СТРОКА*/
#include <conio.h>
#include <stdio.h>
main()
{
char ch,runne_line[41]=" 1234567890123456789012345678901234567890";
/*^-для затирания последнего символа в Б.С.*/
char line[80]=" ";
int i=0,x=40,c,z,j,t1,t=30000;
/*i,c - количество символов в строке
*x,z - указатель на элемент массивов line и runne_line
*t,t1 -задержка времени в тиках.*/
clrscr();
printf("\n\t\tВведите заданную строку.\n");
printf("\tСтроку, не более 40 символов, закончить \"Enter\".\n");
while((ch=getch())!=0x0d)
{
i++;
if(i==41) /* 41-й символ не вводим*/
{
gotoxy(8,5);
cprintf("Символов больше 40, жми \"Enter\".\a");
i--;
}
else
{
runne_line[i]=ch; /*начинаем заполнять с 1-го элемента не с 0-го*/
gotoxy((i+1),4);
cprintf("%c",ch);
}
}
gotoxy(1,5); /*Для затирки предыд. сообщ. если оно есть.*/
cprintf(" \"Y\"-Запустить БЕГУЩУЮ СТРОКУ.");
gotoxy(11,6);
cprintf("\"Пробел\"-Выйти из программы.");
switch(ch=getch())
{
case 'Y':/*во всех регистрах и раскладках*/
case 'y':
case 'н':
case 'Н':
gotoxy(1,5);
cprintf(" ");
/* определяем следующий элемент в выводимом массиве line*/
for(x=40;x<82;x++) /* цикл бесконечный*/
{
/*Если нажата любая клавиша выйти из цикла*/
if(kbhit()) break;
if(x>79) /* следующий д.б. <= 79*/
x=0; /* иначе = 0*/
z=x;
/*переписываем из заданного в выводимый*/
for(c=i;c>=0;c--,z--)
{
if(z<0)
z=79;
if(z>79)
z=0;
/*выводим на экран*/
line[z]=runne_line[c];
for(j=80;j>=1;j--)
{
gotoxy(j,24);
cprintf("%c",line[(j-1)]);
/*сделать задержку*/
for(t1=t;t1!=0;t1--);
}
}
}
break;
default:;
}
}
Пример исполнения:
Алгоритм:
Работа над ошибками:
1. Расчет определителя 2го порядка по введенным четырем целым числам.
Программа:
/*Расчет определителя 2го порядка по введеным 4-м целым числам*/
#include <stdio.h> /*подключение файла библиотеки*/
#include <conio.h> /*подключение файла библиотеки*/
main () /*главная функция*/
{
int a[2][2],i,j,b,n=2; /*объявление переменных*
*i-строка, j-столбец, n-порядок
определителя*/
clrscr (); /*очистка экрана*/
printf ("\n\n\t\tРасчет определителя %d-го порядка\n",n);
/*ввод значений*/
for (i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
cprintf ("Введите %d-й элемент %d-й строки - ",j+1,i+1);
scanf ("%d",&a[j][i]);
Другие рефераты на тему «Программирование, компьютеры и кибернетика»:
- Проблемы сохранности информации в процессе предпринимательской деятельности
- Внутримашинное информационное обеспечение управления
- Проектирование и реализация базы данных средствами Access
- Исследование полета снаряда
- Графическое моделирование деталей масляного насоса с помощью графической системы AutoCAD
Поиск рефератов
Последние рефераты раздела
- Основные этапы объектно-ориентированного проектирования
- Основные структуры языка Java
- Основные принципы разработки графического пользовательского интерфейса
- Основы дискретной математики
- Программное обеспечение системы принятия решений адаптивного робота
- Программное обеспечение
- Проблемы сохранности информации в процессе предпринимательской деятельности