Воскресенье, 28.04.2024, 07:55
Приветствую Вас Любознательный | RSS

Сайт студентов ИАТЭ специальности ИС

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: SlipandSlide, fenom  
Форум ИС ИАТЭ » Учебка » Примеры программ на C++ » Набор готовых программ (Нужна готовая прога на С++? Вам сюда!)
Набор готовых программ
WolfClanДата: Среда, 22.04.2009, 08:35 | Сообщение # 1
Группа: Удаленные





1. ФУНКЦИЯ ПЕРЕВОДА ЧИСЕЛ (2)
2. АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ И ФУНКЦИИ РАЗЛИЧНОЙ СЛОЖНОСТИ (4)
3. ФУНКЦИЯ НАХОЖДЕНИЯ КОЛИЧЕСТВА МАКСИМАЛЬНЫХ ЭЛ. В МАССИВЕ (1)
4. ВЫЧИСЛЕНИЕ ЧИСЕЛ ФИБОНАЧЧИ (2)
5. СОЗДАНИЕ ОТСОРТИРОВАННОГО МАССИВА ИЗ ДВУХ НЕ ОТСОРТИРОВАНЫХ (3)
6. ПРОГРАММА ДЛЯ ОТКРЫТИЯ ТЕКСТОВЫХ ФАЙЛОВ В С++ (1)
7. ЦИКЛИЧЕСКИЕ ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕССЫ (ИЗ ИДЗ) (2)
8. СОРТИРОВКА "ПУЗЫРЬКОМ" (1)
9. ОДНОМЕРНЫЙ МАССИВ (ИЗ ИДЗ) (1)
10. МАТРИЦА ОБЫКНОВЕННАЯ (C ВЫВОДОМ НОМЕРОВ СТРОК С МАХ ЭЛЕМЕНТОМ) (1)
11. СОРТИРОВКА ОДНОМЕРНОГО МАССИВА (1)
12. ДЕМОНИЧЕСКАЯ МАТРИЦА С СОРТИРОВКОЙ (1)
12. ДЕМОНИЧЕСКАЯ МАТРИЦА (КЛАССИЧЕСКАЯ ОТ ВИНОГРАДОВОЙ) (1)


13. БАЗОВАЯ ПРОГРАММА ПОСТРОЕНИЯ ДЕРЕВА (1)
14. ПРОГРАММА НАХОЖДЕНИЯ СУММЫ ОТРИЦАТЕЛЬНЫХ ЭЛЕМЕНТОВ В УЗЛАХ, КОЛИЧЕСТВО ОТРИЦАТЕЛЬНЫХ, МАКСИМАЛЬНЫЙ ЭЛЕМЕНТ (1)

15. Построить идеально сбалансированное дерево. Напечатать. Определить высоту дерева.

В скобках указано количество прог на заданную тему.

 
WolfClanДата: Среда, 22.04.2009, 09:21 | Сообщение # 2
Группа: Удаленные





ФУНКЦИЯ ПЕРЕВОДА ЧИСЕЛ
Напишите функцию перевода р-ричного числа в десятичное.

Code
#include<conio.h>
#include<stdio.h>

int ch[] = {2,5,4};
int sys = 16;
int n = sizeof(ch)/sizeof(int);
int i, j, rez = 0, sys_temp;

void main()
{
clrscr();
sys_temp = 1;
j = 0;
for (i=n-1;i>=0;i--)
{
if (j>0)
sys_temp *= sys;
rez += ch[i] * sys_temp;
j++;
}
printf("\n%d",rez);
getch();
}

_____

Напишите функцию перевода 10-тичного числа в р-ричное

#include<stdio.h>
#include<conio.h>
#include<string.h>
#define TOP© (c<10?c+'0':c-10+'A')

void reverse(char*s)
{
reverse(s);
printf("%s",s);
}

void main()
{
clrscr();
unsigned long chislo;
unsigned sys;
int i;
char s[50];
printf("Enter count:");
scanf("%lu",&chislo);
printf("Enter system:");
scanf("%u",&sys);

if(sys!=0)
{
for (i=0;chislo>0;chislo/=sys)
s[i++]=TOP(chislo%sys);
s[i]='\0';
for (i=strlen(s)-1;i>=0;i--)
printf("%c",s[i]);
printf("\n");
}
getch();
}
 
WolfClanДата: Среда, 22.04.2009, 09:24 | Сообщение # 3
Группа: Удаленные





АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ И ФУНКЦИИ РАЗЛИЧНОЙ СЛОЖНОСТИ

Напишите функцию сложения двух простых дробей a/b и c/d. В результате должна получаться правильная несократимая дробь или смешанное число.

Code
# include <stdio.h>

const a=3,b=5,c=7,d=13;
int ch,zn,cel;

void sokr(int &x,int &y)
{ int max=(x<y)?y:x;
for (int i=2;i<=max;i++)
if ((x%i==0)&(y%i==0))
{
x/=i;
y/=i;
max=(x<y)?y:x;
i=2;
}
}

void main()
{
if (b==d) {ch=a+c; zn=b;}
else {ch=a*d+b*c; zn=b*d;}
cel=ch/zn;
ch-=cel*zn;
sokr(ch,zn);
printf("\n%d %d/%d",cel,ch,zn);
}

_____
Напишите функцию разложения натурального числа на простые множители

Code
# include <stdio.h>

void main()
{
const N=15120;
long int n=N;
int mas[10];
int kol=0;
for (int i=2;i<=n;)
{
if ((n%i)==0)
{
mas[kol]=i;
kol++;
while ((n%i)==0) n/=i;
}
else i++;
}

}

_____
Напишите функцию поиска количества максимальных элементов в массиве

Code
# include <stdio.h>
# include <stdlib.h>

const n=10;
int mas[n];
int max,kol;

int poisk(int a[])
{ int k=1;
max=a[0];
for (int i=0;i<n;i++)
if (a[i]>max) { max=a[i]; k=1;}
else if (a[i]==max) k++;
return k;
}

void main()
{
randomize();
for (int i=0;i<n;i++)
mas[i]=5+random(10);
kol=poisk(mas);
}

_____
Найти все простые числа из интервала 2..N ( N<=80000).

Code
#include<stdio.h>
#include<conio.h>

char mask[] = {0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};

void main()
{
clrscr();
const long MAX=80000;
char newMAX[MAX/8];

for(long i=0;i<MAX/8;i++)
newMAX[i]=0xFF;

for(i=2;i<=MAX/2;i++)
if(newMAX[i/8] & mask[i%8])
{
long d=2*i;
for(;d<MAX;d+=i)
newMAX[d/8] &= ~mask[d%8];
}
for(i=2;i<MAX;i++)
{
if(newMAX[i/8] & mask[i%8])
{
printf("%8lu",i);
if (wherey() == 25)
{
getch();
clrscr();
}
}
}
getch();
}
 
WolfClanДата: Среда, 22.04.2009, 09:49 | Сообщение # 4
Группа: Удаленные





ФУНКЦИЯ НАХОЖДЕНИЯ КОЛИЧЕСТВА МАКСИМАЛЬНЫХ ЭЛ. В МАССИВЕ

Code
# include <stdio.h>
# include <stdlib.h>

const n=10;
int mas[n];
int max,kol;

int poisk(int a[])
{ int k=1;
max=a[0];
for (int i=0;i<n;i++)
if (a[i]>max) { max=a[i]; k=1;}
else if (a[i]==max) k++;
return k;
}

void main()
{
randomize();
for (int i=0;i<n;i++)
mas[i]=5+random(10);
kol=poisk(mas);
}
 
WolfClanДата: Среда, 22.04.2009, 09:51 | Сообщение # 5
Группа: Удаленные





ВЫЧИСЛЕНИЕ ЧИСЕЛ ФИБОНАЧЧИ

Предложите два варианта функции вычисления суммы первых n чисел Фибоначчи.

Code
# include <stdio.h>

int fib(int x)
{
if ((x==1)|(x==2)) return 1;
else return (fib(x-1)+fib(x-2));
}
void main()
{ int sum=0;
const n=7;
for (int i=1;i<=n;i++)
sum+=fib(i);
printf("%d",sum);
}

_____

Предложите два варианта функции вычисления n- го числа фибоначчи

Code
# include <stdio.h>

int fib(int x)
{
if ((x==1)|(x==2)) return 1;
else return (fib(x-1)+fib(x-2));
}

void main()
{ const n=20;
printf("\n%d",fib(n));
}
 
WolfClanДата: Среда, 22.04.2009, 10:08 | Сообщение # 6
Группа: Удаленные





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

Даны два массива. Массив А состоит из N элементов и отсортирован по возрастанию. Массив В состоит из М элементов и отсортирован по убыванию. Разработать программу для слияния этих массивов в отсортированный по возрастанию массив С.

Code
# include <stdio.h>
# include <stdlib.h>

const N=10,M=10;
int a[N],b[M],c[N+M];

void main()
{
randomize();
a[0]=-20;
b[0]= 20;
for (int i=1;i<N;i++)
a[i]=a[i-1]+random(10);
for (i=1;i<M;i++)
b[i]=b[i-1]-random(10);
int x=0,y=M-1;
i=0;
while (!c[N+M-1])
{
if (((a[x]>=b[y])|(x>N-1))&(y<=M-1))
{
c[i]=b[y];
i++;
y--;
}
else if (((a[x]<=b[y])|(y<0))&(x>=0))
{
c[i]=a[x];
i++;
x++;
}
}
}

_____

Даны два массива. Массив А состоит из N элементов и отсортирован по возрастанию. Массив В состоит из М элементов и отсортирован по убыванию. Разработать программу для слияния этих массивов в отсортированный по убыванию массив С, не содержащий одинаковых элементов.

Code
# include <stdio.h>
# include <stdlib.h>

const N=10,M=10;
int a[N],b[M],c[N+M];

void main()
{
randomize();
a[0]=-5;
b[0]= 5;
for (int i=1;i<N;i++)
a[i]=a[i-1]+random(3);
for (i=1;i<M;i++)
b[i]=b[i-1]-random(3);
int x=N-1,y=0;
i=0;
while ((x>=0)|(y<M))
{
if (((a[x]>=b[y])|(y>M-1))&(x>=0))
{
if (c[i-1]!=a[x]) { c[i]=a[x]; i++;}
x--;
}

_____

Даны два массива. Массив А состоит из N элементов , массив В состоит из М элементов. Оба массива отсортированы по убыванию. Разработать программу для слияния этих массивов в отсортированный по неубыванию массив С.

Code
# include <stdio.h>
# include <stdlib.h>

const N=10,M=10;
int a[N],b[M],c[N+M];

void main()
{
randomize();
a[0]=-5;
b[0]=-5;
for (int i=1;i<N;i++)
{
a[i]=a[i-1]-random(3);
b[i]=b[i-1]-random(3);
}

int x=M-1,y=N-1;
i=0;
while ((x>=0)|(y>=0))
{
if (((a[x]<=b[y])|(y<0))&(x>=0))
{
c[i]=a[x];
i++;
x--;
}
else if (((a[x]>=b[y])|(x<0))&(y>=0))
{
c[i]=b[y];
i++;
y--;
}
}
}
 
WolfClanДата: Среда, 22.04.2009, 10:09 | Сообщение # 7
Группа: Удаленные





ПРОГРАММА ДЛЯ ОТКРЫТИЯ ТЕКСТОВЫХ ФАЙЛОВ В С++

Прога выводит содержимое из выбранного txt файла (вроде ничего не напутал)

Code
#include<stdio.h>
#include<string.h>

main()
{
FILE*f= fopen("t.txt","r"); \\ процедура открывающая файл с именем t.txt, r означает чтение (изменять не будем)
char s[100]; \\ выделяем в процедуре строку в 100 символов
int k=0;
while (!feof (f)){ \\ гм. проверяем, в какой строке количество символов не равно 0, (длинна строки не 0),
fgets(s,100,f);
if (strlen(s)==0) {\\ если 0 то к следущей
k++;}
;
}
fclose(f); \\ закрываем файл
printf("k=%i", k); \\ выводим строку с символами из файла
printf("\n");
return 0;
}
 
WolfClanДата: Среда, 22.04.2009, 10:25 | Сообщение # 8
Группа: Удаленные





ЦИКЛИЧЕСКИЕ ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕССЫ (ИЗ ИДЗ)

Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач до Хкон с шагом dX.
F = ax2 + b +c при a < 0 и с № 0
F = -a/(x-c) при a > 0 и c = 0
F = a(x+c) во всех остальных случаях,
где a, b и c – действительные числа.
Значения a, b, c, Хнач, Хкон, dX – ввести с клавиатуры.

Прога -

Code
#include <conio.h>
#include <iostream.h>
void main ()
{
float a,b,c;
float Xs, Xe,dx;
float F;
cout<<"a= ";
cin>>a;
cout<<"b= ";
cin>>b;
cout<<"c= ";
cin>>c;
cout<<endl;
cout<<"Xs= ";
cin>>Xs;
cout<<"Xe= ";
cin>>Xe;
cout<<"dx= ";
cin>>dx;
cout<<endl;
if (Xs<=Xe&&dx!=0)
{
for(float x=Xs; x<=Xs; x+=dx)
{
if (a<0&&c!=0)
{
F=a*(x*x)+b+c;
cout<<"x= "<<x<<"F= "<<F<<endl;
}
else
{
if (a>0&&c==0)
{
F=-a/(x+c);
cout<<"x= "<<x<<"F= "<<F<<endl;
}
else
{
F=a*(x+c);
cout<<"x= "<<x<<"F= "<<F<<endl;
}
}
}
getch ();
}
}

Вычислить и вывести на экран в виде
таблицы значения функции F на интервале
от Хнач до Хкон с шагом dX.
F = ax2 + b2x при a < 0 и x != 0
F = x – a/(x - c) при a > 0 и x = 0
F = 1 + x/c во всех остальных случаях,
где a, b и c – действительные числа.
Значения a, b, c, Хнач, Хкон, dX – ввести с клавиатуры.*/

Code
#include <iostream.h>
#include <conio.h>

void main()
{
clrscr();
float a,b,c,x,xH,xk,dx,F;

cout << "BBeDuTe 3Ha4eHu9l nepeMeHHbIx: a b c xH xk dx\n";
cin>>a>>b>>c>>xH>>xk>>dx;
cout<<"\n";
cout<<"x\t";
cout<<"F\n";

for (x = xH ; x <= xk ; x += dx)
{
cout << x;
cout << "\t";

if(a < 0 && x != 0)
{
F = a * x * 2 + b * 2 * x;
cout << F;
cout << "\n";
}
else if(a > 0 && x == 0)
{
if ((x - c) == 0)
{
cout << "XXX - Ha HyJlb DeJluTb HeJlb39|";
cout << "\n";
}
else
{
F = x - a / (x - c);
cout << F;
cout << "\n";
}
}
else
{
if (c == 0)
{
cout << "XXX - Ha HyJlb DeJluTb HeJlb39|";
cout << "\n";
}
else
{
F = 1 + x / c;
cout << F;
cout << "\n";
}
}
}
getch();
}
 
WolfClanДата: Среда, 22.04.2009, 10:26 | Сообщение # 9
Группа: Удаленные





СОРТИРОВКА "ПУЗЫРЬКОМ"

Code
#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
const int n=10, k=15;
void input (float w[ ], int p, int z)
{cout<<"/n vvedite" <<p<< "element /n";
for (int i=0; i<p; i++)
cin>>w[i];
if (w[i]>w[i+1])
{z=w[i];w[i]=w[i+1];w[i+1]=z;}
}
void output (float w[], int p, char title[])
{cout<<title;
for (int i=0; i<p; i++)
cout<<w[i]<<" ";
cout<<endl;
}
getch ();
 
WolfClanДата: Среда, 22.04.2009, 10:27 | Сообщение # 10
Группа: Удаленные





ОДНОМЕРНЫЙ МАССИВ (ИЗ ИДЗ)

Задание - В одномерном массиве, состоящем из N вещественных элементов, вычислить:
произведение элементов массива с четными номерами;
сумму элементов массива, расположенных между первым и последним нулевыми элементами.
Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы, а потом – все отрицательные (элементы, равные нулю, считать положительными).

Прога -

Code
#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
const int n=10, k=15;
void input (float w[ ], int p, int zfloat, proizv = 0)
{
{cout<<"/n vvedite" <<p<< "element /n";
for (int i=0; i<p; i++)
cin>>w[i];
if (w[i]>w[i+1])
{z=w[i];w[i]=w[i+1];w[i+1]=z;}
}
for (i=0; i<p; i++)
{
if (a[i]%2==0)
{
if (proizv==0){proizv = 1;
}
proizv*=a[i];
}
}
if (proizv!=0)
{
cout<<"Proizvedenie chetnih chisel: "<<proizv<<endl;
}
else
cout<<"Chetnih chisel net!"<<endl;
for (int i=0; i<p; i++)
for(i=0; i<m; i++)
{int summ=0;
if (a[i]==0)
summ++;
if (summ==0){summ = 1;
summ+=a[i];
}
if (summ!=0)
{
cout<<"Summa pervih i poslednih с 0: "<<proizv<<endl;
}
else
cout<<"Net nulevih elementov!"<<endl;
void output (float w[], int p, char title[])
{cout<<title;
for (int i=0; i<p; i++)
cout<<w[i]<<" ";
cout<<endl;
}
getch ();
 
WolfClanДата: Среда, 22.04.2009, 10:29 | Сообщение # 11
Группа: Удаленные





МАТРИЦА ОБЫКНОВЕННАЯ (C ВЫВОДОМ НОМЕРОВ СТРОК С МАХ ЭЛЕМЕНТОМ)

Code
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
const int n=5, m=6;
void input(float w[n][m])
{
cout<<"vv"<<n<<" stroka po "<<m<<" yl\n";
int i,j;
for (i=0; i<n; i++)
for (int j=0; j<m; j++)
cin>>w[i][j];
}

void output (float w[n][m],char title[])
{
cout<<title;
int i,j;
for (i=0; i<n; i++)
{
for (j=0; j<m; j++)
cout<<setw(4)<<w[i][j];
cout<<endl;
}}
void make (float w[n][m])
{
int i,j,Nmax;
float max;
for(i=0; i<n; i++)
{
max=-1e+38;
for(j=0; j<m; j++)
if(w[i][j]>max)
{
max=w[i][j];
Nmax=j;
}
cout<<"\n Stroka N"<<i<<" max="<<max<<" Nmax="<<Nmax<<endl;
}
}
void main()
{
 
WolfClanДата: Среда, 22.04.2009, 10:30 | Сообщение # 12
Группа: Удаленные





СОРТИРОВКА ОДНОМЕРНОГО МАССИВА

Code
#include <iostream.h>
#include <conio.h>
const int n=10;
void input(float w[], int p);
void output(float w[], int p,char title[]);
void sort(float w[], int p);

void main()
{
float A[10];
clrscr();
input (A,n);
output (A,n,"ishodnii massiv A \n");
sort(A,n);
output (A,n,"Izmenennii massiv A \n");
getch ();
}
void input(float w[],int p)
{
cout<<"VV massiv\n";
for (int i=0;i<p; i++)
cin>>w[i];
}

void output(float w[],int p,char title[])
{
cout<<"\n\n"<<title;
for (int i=0;i<p; i++)
cout<<w[i]<<" ";
cout<<endl;
}

void sort(float w[], int p)
{
int i, j, Nmin;
float Z;
for(i=0; i<p-1; i++)
{
Nmin=i;
for(j=i+1; j<p; j++)
if(w[j]<w[Nmin]) Nmin=j;

Z=w[i]; w[i]=w[Nmin]; w[Nmin]=Z;
}

}
 
WolfClanДата: Среда, 22.04.2009, 10:31 | Сообщение # 13
Группа: Удаленные





ДЕМОНИЧЕСКАЯ МАТРИЦА С СОРТИРОВКОЙ

Code
#include<iostream.h>
#include<conio.h>

float* input (int p)
{float* w = new float [p];
cout<<"\n vv "<<p<<" el\n";
for (int i=0; i<p; i++)
cin>>w[i];
return w;
}
void output (float* w, int p,char title[])
{
cout<<title;
for (int i=0; i<p; i++)
cout<<" "<<w[i];
}
void sort(float w[], int p)
{
int i, j, Nmin;
float Z;
for(i=0; i<p-1; i++)
{
Nmin=i;
for(j=i+1; j<p; j++)
if(w[j]<w[Nmin]) Nmin=j;

Z=w[i]; w[i]=w[Nmin]; w[Nmin]=Z;;}}
void main ()
{int n,m;
clrscr ();
cout<<"\n vv n,m\n";
cin>>n>>m;
float * A=input (n);
float * B=input (m);
sort (A,n);
sort (B,m);
output (A,n, "\n Izm. A \n");
output (B,m, "\n IZM. B \m");
getch ();
}
 
WolfClanДата: Среда, 22.04.2009, 10:33 | Сообщение # 14
Группа: Удаленные





ДЕМОНИЧЕСКАЯ МАТРИЦА (КЛАССИЧЕСКАЯ ОТ ВИНОГРАДОВОЙ)

Code
#include<iostream.h>
#include<conio.h>

float* input (int p)
{float* w = new float [p];
cout<<"\n vv "<<p<<" el\n";
for (int i=0; i<p; i++)
cin>>w[i];
return w;
}
void output (float* w, int p,char title[])
{
cout<<title;
for (int i=0; i<p; i++)
cout<<" "<<w[i];
}
void perevorot (float* w, int p)
{float z;
for (int i=0; i<p/2; i++)
{z=w[i]; w[i]=w[p-i-1];
w[p-i-1]=z;}}
void main ()
{int n,m;
cout<<"\n vv n,m\n";
cin>>n>>m;
float * A=input (n);
float * B=input (m);
perevorot (A,n);
perevorot (B,m);
output (A,n, "\n Izm. A \n");
output (B,m, "\n IZM. B \m");
getch ();
}
 
WolfClanДата: Понедельник, 22.03.2010, 11:56 | Сообщение # 15
Группа: Удаленные





БАЗОВАЯ ПРОГРАММА ПОСТРОЕНИЯ ДЕРЕВА

Code
#include <iostream.h>
#include <conio.h>

struct node {
int key;
node *left, *right;
}
node * buildTree (int n) [color=gray][i]// строим дерево, задаем значения корня и узлов[/i][/color]
{if(n==0) return 0;
else
{node *t=new node;
cout<<"\n Vvedite ocherednoe chislo \n";
cin>>t->key;
int nl=n\2, nr=n-1-nl;
t->left=buildTree(nl);
t->right=buildTree(nr);
return t;
}
}
void Output (node *t, int k) [color=gray][i]// печатаем дерево на экран[/i][/color]
{if (t!=0)
{output (t->right, k+7) [color=gray][i]// k+7 - вместо 7, можно задать любое значение, это расстояние между узлами на экране.[/i][/color]
for(int i=0; i<k; i++)
cout<<' ';
cout<<t->key<<"\n\n";
output(t->left; k+7);
}
}
void main ()
{int n;
cout<<"\n Vvedite n \n";
cin>>n;
node*T=buildTree (n);
cout<<"\n Ishodnoe derevo \n";
Output (T,0);
getch ();
}
 
Форум ИС ИАТЭ » Учебка » Примеры программ на C++ » Набор готовых программ (Нужна готовая прога на С++? Вам сюда!)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:


ИАТЭ НИЯУ МИФИ ИС © 2024
Используются технологии uCoz