Нахождение минималного элемента в массиве

Автор: Пользователь скрыл имя, 06 Декабря 2011 в 17:11, курсовая работа

Описание работы

Условие задачи.
Составить алгоритм преобразования строки S в эквивалентное ей вещественное число. Алгоритм должен обрабатывать необязательный знак и вещественную точку , а так же целую и дробную части , каждая из которых может как присутствовать , так и отсутствовать . Представление числа в строке может содержать ведущие пробелы и заканчиваться любым нецифровым символом. При решении считать строку массивом целых чисел , содержащим коды символов . Для получения кода символа следует заключить в апострофы (‘). Например , строка <<-327.45A>>, представленная в виде массива , преобразуется в число <<-327.45.>>

Содержание

Титульный Лист………………………………………………..…1 стр
Содержание…………………………………………………….…2 стр
Условие задачи…………………………………………………....3 стр
Постановка задачи……………………………….…………...…...4 стр
Алгоритм……………………………………………………..….5-7 стр
Словесный алгоритм решения…………………………………8-9 стр
Программа на С++……………………………………………..9-13 стр
Визуальный пример…………………………….……………..…14 стр
Используемая литература…………………

Работа содержит 1 файл

Документ Microsoft Word.doc

— 140.50 Кб (Скачать)

МИНИСТЕРСТВО  ОБРАЗОВАНИЯ И  НАУКИ 

КЫРГЫЗСКОЙ  РЕСПУБЛИКИ 

КЫРГЫЗСКИЙ  ГОСУДАРСТВЕННЫЙ  ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ  ИМ И.РАЗЗАКОВА 
 

ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ 

КАФЕДРА ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ  КОМПЬЮТЕРНЫХ СИСТЕМ 
 
 
 
 
 

КУРСОВАЯ  РАБОТА 
 
 
 
 
 

ПО ДИСЦИПЛИНЕ: ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ ВЫСОКОГО УРОВНЯ 
 

НА ТЕМУ:    МАССИВЫ 
 
 
 
 
 
 

              ВЫПОЛНИЛ: СТУДЕНТ ГР. ПОВТ-3-10

                                                   Пушкарёв Павел 

              РУКОВОДИТЕЛЬ: СТАМКУЛОВА Г.К. 
               
               

               БИШКЕК 2011

               Содержание.

  1. Титульный Лист………………………………………………..…1 стр
  2. Содержание…………………………………………………….…2 стр
  3. Условие задачи…………………………………………………....3 стр
  4. Постановка задачи……………………………….…………...…...4 стр
  5. Алгоритм……………………………………………………..….5-7 стр
  6. Словесный алгоритм решения…………………………………8-9 стр
  7. Программа на С++……………………………………………..9-13 стр
  8. Визуальный пример…………………………….……………..…14 стр
  9. Используемая литература…………………………………….…15 стр
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

               Условие задачи.

Составить алгоритм преобразования строки S в эквивалентное ей вещественное число. Алгоритм должен обрабатывать необязательный знак и вещественную точку , а так же целую и дробную части , каждая из которых может как присутствовать , так и отсутствовать . Представление числа в строке может содержать ведущие пробелы и заканчиваться любым нецифровым символом. При решении считать строку массивом целых чисел , содержащим коды символов . Для получения кода символа следует заключить в апострофы (‘). Например , строка <<-327.45A>>, представленная в виде массива , преобразуется в число <<-327.45.>> 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Постановка  задачи.

В данной программе используются 4 библиотеки: <iostream.h> (функции ввода (с клавиатуры) и вывода (на экран), логические операции if (>, >=, <,<=, ==, !=, &&, ||), простые математические вычисления (*,  +,  -,  /), операторы цикла (for, do while), оператор безусловного перехода goto), <fstream.h>(функции ввода из текстового документа и вывода в текстовый документ, функция условного завершения программы), <windows.h> (включение кириллицы).<math.h> для выполнения математических действий.

В программе  использованы следующие переменные:

  • B[] – символьный массив для вывода символов и определения в нём чисел.
  • I – счётчик цикла.
  • J,K – переменные для подсчёта количества чисел.
  • S – переменная для вывода чисел.
  • *A [] – динамический символьный массив для записи данных.
  • T1.T2 - – Идентификатор безусловного перехода (в данной программе нужны для проверки вводных данных и повторного использования);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Алгоритм

 

 
 

 

 

 

 

 

 
 
 
 

 

 

 

 

 

 

 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Словесный алгоритм решения.

  1. Включаем библиотеки <iostream.h>, <fstream.h>, <windows.h>; <math.h>
  2. Вводим функцию для вывода кириллицы на монитор;
  3. Объявляем прототип функции вывода символов. Указываем тип функции, её имя.
  4. Объявляем символьный массив.
  5. Обнуляем переменные.
  6. Объявляем переменные для цикла , и для подсчёта количества введенных чисел.
  7. Объявляем выводную переменную.
  8. Объявляем условие для определения введённых чисел а так же (-) и вещественной точки.
  9. Объявляем условие : если будет введена вещественная точка, то для её определения всё количество чисел будет делиться на 10 в степени j (j кол-во чисел после точки).
  10. Объявляем условие : если не будет введён (-) , то будет выполняться условие (9), но если будет введён (-) , тогда всё число будет умножаться на -1.
  11. Объявляем 2ой символьный динамический массив.
  12. Объявляем файл ввода данных из txt файла (gogo.txt).
  13. Объявляем файл для вывода данных в txt файл (result.txt).
  14. Объявляем условие как будем вводить данные (с клавиатуры или с txt файла)
  15. Открытие txt файла для записи данных.
  16. Вывод чисел из символьной строки с подключением ранее объявленной функции.
 
 
 
  1. Запись  данных в txt файл 2мя способами (14).
  2. Объявляем условие для повторения программы.
  3. Закрытие файла (13).
  4. Обнуление динамического символьного массива.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Программа на С++

#include<iostream.h>

#include<windows.h>

#include<fstream.h>

#include<math.h>

char NEWT[256];

char *rus(char*TEXT)

{

      CharToOem (TEXT,NEWT);

      return NEWT;

}

double troll(char b[])

{

      int i,j,k;

      double s;

      j=0;

      s=0;

      for(i=19;i>=0;i--)

      {

      if(b[i]=='0'||b[i]=='1'||b[i]=='2'||b[i]=='3'||b[i]=='4'||b[i]=='5'||b[i]=='6'||b[i]=='7'||b[i]=='8'||b[i]=='9'||b[i]=='.'||b[i]=='-')

      {

      if(b[i]=='.')

      {

      s=s/pow(10,j);

      j=-1;

      }

      else if(b[i]!='-')

      {

      k=b[i]-'0';

      s=s+k*pow(10,j);

      }

      else

      {

      s=s*(-1);

      }

      j++;

      

      return s;

}

void main()

{

      char *a; 

      ofstream f;

      ifstream w;

      a=new char[20];

      f.open("result.txt");

t1: for(int i=0;i<20;i++)

      {

            a[i]=' ';

      }

      cout<<rus("Для ввода символов через клавиатуру введите 1")<<endl;

      cout<<rus("Для ввода символов через текстовые документы введите 2;")<<endl;

t2:cin>>i;

      if(i==1)

      {

      cout<<rus("введите символы")<<endl;

      cin>>a;

      }

      else if(i==2)

      {

      w.open("gogo.txt");

      w>>a;

      cout<<rus("введёные  символы ")<<endl<<a<<endl;

      }

      else

      {

            cout<<rus("Введите 1 или 2: ");

            goto t2;

      }

      f<<"введёные символы: "<<endl<<a<<endl;

      cout<<rus("вывод числа из символьной строки: ")<<endl;

      cout<<troll(a)<<endl;

      f<<"вывод числа из символьной строки: "<<endl<<troll(a)<<endl;

      f.close();

      cout<<rus("резульат был записан в корневую папку:название result.txt")<<endl;

      cout<<rus("Для повторения программы введите 1. Для выхода любой символ.")<<endl;

      cin>>i;

      if(i==1) goto t1;

      delete []a;

} 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Визуальный  пример программы:

Вариант №1

Вариант №2

 

Ввод из txt файла.

 

Вывод в txt файл.

 
 

Используемая  литература.

  1. Методичка по ПЯВУ (первый курс 2ой семестр)

Информация о работе Нахождение минималного элемента в массиве