Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OTChYoT.doc
Скачиваний:
18
Добавлен:
07.06.2015
Размер:
201 Кб
Скачать

2.9 Нахождение нужного числа

Программа предназначена для нахождения двузначного числа, сумма цифр которого не меняется при умножении числа на 2, 3, 4, 5, 6, 7, 8, 9.

Входные данные: натуральное число N

Выходные данные: числа удовлетворяющие условию задачи

Листиг задачи 2.9

#include "stdafx.h"

#include <stdio.h>

int main()

{

int i,first,second,a;

int j;

for(i=10;i<100;i++)

{

first=i/10;

second=i%10;

a=(first*10)+second;

for(j=2;j<10;j++)

{

if (i==(first+second)*j)

{ printf("%d",i);

printf("\n");

getchar();

//getchar();

}

}

}

getchar();

getchar();

}

Рисунок 2.2 Блок-схема предназначенная для алгоритма решения задачи № 2.10

fitst =i/10;

second = i%10;

a=(first*10)+second;

Печать i

2.10 Нахождение локального минимума

Программа предназначена для нахождения локальных минимумов и подсчёта их количества

Входные данные: s[5][5];

Выходные данные: количество k(int)

Листинг программы:

#include "stdafx.h"

#include <stdio.h>

#include <math.h>

int main()

{

int i, j, k=0 ,s[5][5];

//vvod mas

for(i=1;i<=3 ;i++)

for(j=1;j<=3;j++)

scanf("%d",&s[i][j]);

for(i=1;i<=3;i++)

for(j=1;j<=3;j++)

{

if(s[i][j]<s[i+1][j] && s[i][j]<s[i][j+1] && s[i][j]<s[i-1][j] && s[i][j]<s[i][j-1])

{

printf("kol-vo lokal'nux min = %d\n",s[i][j]);

k=1;

}

}

if (k==0)

printf(" lok-ix mini net ");

getchar();

getchar();

getchar();

getchar();

}

    1. Решение задач на треугольник

Программа предназначена для определения, пересекает ли прямая контур треугольника.

Входные данные: a,b

Выходные данные: Пересекает либо нет

Листинг программы:

#include "stdafx.h"

#include <stdio.h>

#include<math.h>

void main()

{

int a, b, y=1;

puts("vvedi b & a (v uravnenii pryamoi Y=aX+b)");

scanf("%d%d", &a,&b);

if( ((y-b)/a<=2-y) && ((y-b)/a>=y-2))

puts("peresekaet");

else

puts("ne peresekaet");

getchar();

getchar();

}

Рисунок 2.3 - Блок-схема к задаче 2.11

Da Нет

Peresekaet

Peresekaet

2.12 Печать натурального числа n

Программа предназначена для печати натурального числа n суммой натуральных чисел.

Входные данные: 2 целых числа

Выходные данные: матрица

Листинг программы:

#include "stdafx.h"

#include<stdio.h>

#include<math.h>

void main()

{

int n=20, a,b;

//puts("enter n=");

//scanf("%d",n);

for(a=0,b=n;a<n/2+1,b>n/2-1;a++,b--)

{

printf("%d+%d= %d",a,b,n);

//puts(" ");

printf("\n\n");

}

getchar();

getchar();

getchar();

getchar();

}

Рисунок 2.4 - Блок-схема к задаче 2.12

    1. Написать и протестировать ф-ю

Программа предназначена для тестирования аналога функции STRNCMP().

Входные данные: str1,str2.

Выходные данные: Сравнение строк

Листинг программы:

#include "stdafx.h"

#include <stdio.h>

#include <conio.h>

int main()

{

char str1[99], str2[99];

int n;

int fun(char *, char *, int);

//ВВедите первую строку

puts("vvedite stroku 1");

gets(str1);

//Введите вторую строку

puts("vvedite stroku 2");

gets(str2);

puts("vvedite kolichestvo elementov");

scanf("%d", &n);

fun(str1, str2, n);

getchar();

getchar();

}

int fun(char *str1, char *str2, int n)

{

int i, j=0;

//Вводим массив и cравниваем єлементы

for(i=0;i<n;i++)

{

if(str1[i]==str2[i])

j++;

}

if(j==n)

puts("stroki ravni");

else

puts("stroki ne ravni");

return 0;

}

    1. Вывод элемента файла на экран

Программа предназначена для вывода нужных элементов данного файла.

Входные данные: i,n(int);

Выходные данные: Вывод нужного элемента.

#include "stdafx.h"

#include <fstream>

#include <iostream>

#include <cstdio>

#include <stdlib.h>

#define N 100

using namespace std;

int main ()

{

int i,mas[N],n;

FILE *fp;

fp=fopen("qqq.txt","r");

fscanf(fp, "%d", &n);

for(i=0; i<n; i++)

fscanf(fp, "%d", &mas[i]);

for(i=0; i<n; i++)

{

printf("%2d", mas[i]);

}

printf("\n\n");

printf("%d%d%d%d", mas[0],mas[1],mas[n-2],mas[n-1]);

getchar();

getchar();

}

Действия над элементами файла

Программа предназначена для уменьшения размера файла.

Входные данные: i,n(int);

Выходные данные: mas[i]

#include "stdafx.h"

#include <fstream>

#include <iostream>

#include <cstdio>

#include <stdlib.h>

#include <io.h>

#define N 100

int main()

{

int i,mas[N],n;

FILE *fp;

fp=fopen("qqq.txt","r");

fscanf(fp, "%d", &n);

for(i=0; i<n; i++)

fscanf(fp, "%d", &mas[i]);

for(i=0;i<n-50;i++)

printf(" %d " , mas[i]);

fclose(fp);

fp=fopen("qqq.txt" ,"w");

for(i=0;i<n-50;i++)

{

fprintf(fp,"%d\n", mas[i]);

}

fclose(fp);

getchar();

getchar();

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]