5100

Создание консольных приложений в среде Visual C++

Курсовая

Информатика, кибернетика и программирование

Цель работы: закрепление основных теоретических положений, изложенных в лекциях по курсу Программирование на языках высокого уровня, отработка навыков практического программирования в среде VisualC++ при создании консольных программ, в...

Русский

2012-12-03

52.5 KB

26 чел.

Цель работы: закрепление основных теоретических положений, изложенных в лекциях по курсу «Программирование на языках высокого уровня»,  отработка навыков практического программирования в среде Visual C++ при создании консольных программ, включая многофайловые.

Задания курсовой работы и особенности алгоритмов реализации.

Задание №1    Даны натуральные числа N и M (N>M). Вычислить

#include "stdafx.h"

#include "stdlib.h"

#include "math.h"

int fact(int k)

{

       int res = 1;

       for (int i = 1; i <= k; ++i)

       {

               res *= i;

       }

 

       return res;

}

double resh(int M,int N)

{

 int k=0,f=0;

 double res;

 for(k=M; k<N;k++)

 {f=fact(k);

  res+=k*k*log(f);

 }

 return res;

}

void funct()

{   int m,n;

 double result;

   printf("Vvedite M\n");

scanf("%d",&m);

printf("Vvedite N\n");

scanf("%d",&n);

result=resh(m,n);

printf("Otvet %f",result);

getchar();

}

 res  – это переменная, которая позволяют хранить, модифицировать и извлекать значения. Переменная, или объект – это именованная область памяти, к которой мы имеем доступ из программы; туда можно помещать значения и затем извлекать их. 

double-обозначает формат числа с плавающей запятой 

Задание №2

Найти  натуральное  число из интервала [a,b] с максимальной суммой делителей. (Для нахождения суммы делителей числа использовать функцию.)

#include "stdafx.h"

#include "stdlib.h"

#include "math.h"

int delit(int a,int b)

{

 int sum=0,int summax=1;

 int ch=1,i;

 for ( i=a;i<b;i++)

{

 sum=0;

 for (int k=1;k<(i%2+1);k++)

  if ((i%k)==0)

   sum+=k;

         sum+=i;

 if (sum>summax)

{

 summax=sum;

 ch=i;

}

}

printf("Delitel %d\n",sum);

 return i;

}

void funct2()

{   int a,b,c;

printf("Vvedite a");

scanf("%d",&a);

printf("Vvedite b");

scanf("%d",&b);

c=delit(a,b);

printf("Chislo=%d",c);

 getchar();

}

Задание №3

Во введенной строке символов (последний '*') подсчитать общее количество цифр и букв ‘с’.

#include "stdafx.h"

#include "stdlib.h"

#include "string.h"

int count_c(char str[])

{  char c='c';

  int d=0;

 for (int i=1; i<strlen(str);i++)

{

  if (strcmp(&str[i],&c))

   d++;

}

 return d;

}

int count_dig(char str[])

{   char *digit="1234567890";

 int d=0;

 for (int i=1; i<strlen(str);i++)

{

  if (strcmp(&str[i],digit))

   d++;

}

 return d;

}

void funct3()

{   char *str;

printf("vvedite predlogenie\n");

gets(str);

printf("v predlojenie %d -c\n",count_c(str));

printf("v predlojenie %d -cifr\n",count_dig(str));

 getchar();

}

Функция strcmp() сравнивает в лексикографическом порядке две строки и возвращает целое значение, зависящее следующим образом от результата сравнения. 

Функция COUNT всегда возвращает значение типа int. 

Переменную типа char можно рассматривать двояко: как целое число, занимающее 1 байт .

strlen — функция стандартной библиотеки, для возврата длины нуль-терминированной строки без символа окончания строки 

Задание 4

Написать и протестировать функцию, которая по заданной строке Str формирует новую строку, состоящую только из цифр, входящих в Str.


#include
 "stdafx.h"
#include "stdlib.h"
#include "string.h"
void myfunct(char str[])
{
char *chars=("qwertyuiopasdfghjklzxcvbnm,./';][{}:?><QWERTYUIOPASDFGHJKLZXCVBNM");
char *p;
int i;
for (i=0; i<strlen(str);i++)
{
p=strtok(&str[i],chars);
puts(p); 
}
}
void funct4()
{ char str[100];
printf("Vvedite stroku\n");
gets(str);
myfunct(str);
getchar();
getchar();
getchar();
}

Задание №5

Даны вещественные числа a и b (а<b). Сформировать матрицу Х[10,10], элементами которой являются вещественные случайные числа, равномерно распределенные на отрезке [а,b]. Определить сумму элементов матрицы, сумма номеров строк и столбцов которых равна n.

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

/*  Даны вещественные числа a и b (а<b). Сформировать матрицу Х[10,10],

 элементами которой являются вещественные случайные числа, равномерно распределенные на отрезке [а,b].

 Определить сумму элементов матрицы, сумма номеров строк и столбцов которых равна n.*/

#include <iostream>

#include <iomanip>

#include <stdlib.h>

#include <time.h>

using namespace std;

int main()

{

       const int SIZE = 10;//создаём переменную под величину массива(размерность)

       int matrix[SIZE][SIZE], a, b, sum, n;

       srand(time(NULL));      

       //запрашиваем верхнюю и нижнюю границы рандомизации

       cout << "Enter a: ";

       cin >> a;

       cout << "Enter b: ";

       cin >> b;

       cout << "Enter n: ";

       cin >> n;

       //проходим по ячейкам матрицы и заполняем

       for(int i = 0; i < SIZE; i++)

       {

               for(int j = 0; j < SIZE; j++)

               {

                       matrix[i][j] = a + rand() % (b + 1);

               }

       }

       //проходим еще раз, но проверяем выполнение условия задачи и закидываем подходящие элементы в переменную sum

       

       for (int i = 0;i < 10;i++)

               {

                       for (int j = 0;j < 10;j++)

                               {

                                       if (i+j==n)

                                               {

                                                       sum=sum+matrix[i][j];

                                               }

                               }

               }

       cout << sum;

       

}

Задание №6

Дан целочисленный массив S[26]. Сформировать матрицу А, первая строка которой будет содержать элементы массива с четными номерами, а вторая - с нечетными.



#include "stdafx.h"
#include "stdlib.h"
void formmas(int s[26])
{int i=0,j=0,x,h;
int G[13][13];
for(int k=0; k<26;k+=2)
{
i++;
G[0][i]=s[k];
}
for (int k=1;k<26;k+=2)
{
j++;
G[1][j]=s[k];
}
for (int x=0;x<13;x++)
for(int h=0;h<2;h++);
{
printf("%d\n\n",G[x][h]);
}
}
void funct6()
{ int mas[26];
int i,k;
printf("ZADACHAAAAA 5");
for (i=0;i<26;i++)
mas[i]=rand()%50;
formmas(mas);
getchar();
getchar();
getchar();
}


 

А также другие работы, которые могут Вас заинтересовать

82293. Экономическая политика в годы гражданской войны 30.88 KB
  Первыми мероприятиями советской власти в Казахстане стали: национализация крупной промышленности банков и транспорта весной 1918 года; возращение крестьянам 35 млн. Для Казахстана продразверстка стала настоящим бедствием: поголовье скота составило всего 545 в 1920 году по сравнению с 1913 годом Сокращение произошло с 299 млн. в 1913 году до 163 млн. голов в 1920; посевные площади с 42 млн.
82294. Развитие сельского хозяйства в сер.60-х-нач.80-х годы 31.31 KB
  Уравнительное распределение заработной платы снижала заинтересованность рабочих в результатах своего труда объемы производства и качество продукции. Наращивание производства сельскохозяйственных продуктов в республике проходило крайне неравномерно более высокие темпы прироста были достигнуты в девятой пятилетке – 3 в год. Неустойчивым было развитие зернового производства.
82295. Создание Киргизской (Казахской) АССР и КазССР 27.83 KB
  Казревком также занялся подготовкой Учредительного съезда Советов Казахстана. 5 декабря 1936 года VIII Чрезвычайный съезд Советов СССР принял новую Конституцию в составе которой было 11 союзных республик в том числе и КазССР.
82296. Международные связи Казахстана в сер.60-х-нач.80-х годов 35.09 KB
  Во внешней политике СССР основными задачами оставались: устранение угрозы распада социалистической системы ее сплочение в политическом военном и экономическом отношениях; нормализация отношений между Востоком и Западом сосуществование в сотрудничестве. Эта политика была особенно активна иногда перерастала в прямую интервенцию в отношении стран находившихся в непосредственной сфере влияния СССР например Афганистан. Этим в свою очередь объяснялось достижение военностратегического паритета СССР и США а также рост революционной...
82297. Казахстан в условиях НЭПа. Причины перехода и сущность 28.14 KB
  Предприятия ж дорожного автомобильного транспорта добывающей и обрабатывающей промышленности были переведены на хозрасчет. К 1928 году было завершено восстановление промышленности Казахстана. Из-за большой разницы цен на продукты с х низкие и промышленности высокие крестьяне перестали сдавать зерно государству.
82298. Экологические проблемы Казахстана на современном этапе (движение Невада-Семипалатинск, Арал, Балхаш и т.д.) 33.34 KB
  Высыхание Аральского моря и возникновение зоны экологического бедствия в регионе стало возможным в результате неэкономного использования воды рек Сырдарьи и Амударьи. Сырдарья в настоящее время не доходит до моря заканчивая свой путь на полях а Амударья достигает Арала лишь зимой тоненьким ручейком. Осушенное дно моря становится источником пыли и солей разносимых на очень большие расстояния. Площадь моря разделилась на несколько самостоятельных водоемов море отошло от берегов местами на 100150 км и продолжает расчленяться.
82299. Земельно- водная реформа 1921 г, ее цели и сущность 29.36 KB
  Аграрные преобразования способствовали возвращению и укреплению социально экономического положения 300 тысяч беженцев казахов и киргизов эмигрировавших в 1916 году в Китай. Реформа способствовала укреплению союза рабочего класса и казахских шаруа узбекских дунганских уйгурских дехкан укреплению национального согласия. Кредит семенные ссуды и другие средства экономического регулирования способствовали укреплению связи государства с трудовым крестьянством восстановлению производительных сил росту трудовой активности трудящихся аула и...
82300. Противоречивость хода перестройки в Казахстане 30.94 KB
  Черненко Генеральным секретарем КПСС становится М. В преддверии поворотного ХХVII съезда КПСС в период его практической подготовки 15 января 1986 г. было опубликовано Заявление Генерального секретаря ЦК КПСС в котором была выдвинута конкретная рассчитанная на точно определенный срок до конца нынешнего столетия программа мероприятий направленных на полную и повсеместную ликвидацию ядерного и других видов оружия массового поражения. ХХVII съезде КПСС была принята новая философия внешней политики Советского Союза.
82301. Причины гололда 1931-1932 годов и его последствия. Письмо «пятерых» 30.48 KB
  В ходе проведения политики раскулачивания более 60 тысяч хозяйств были объявлены байскими и их имущество подлежало конфискации; более 40 тысяч было раскулачено а остальные скрылись бросив свое имущество. В 1929 году привлечено к ответственности 56 498 крестьян из них более 34 тысячи были осуждены. Тургайские перегибщики объявили лозунг Перегибов не допускать – парнокопытных не оставлять здесь из миллионного поголовья...