Главная Случайная страница


Категории:

ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника






Рекурсивное транспонирование по главной диагонали

Рекурсивное транспонирование по главной диагонали

#include<stdio.h>

#include<conio.h>

#include<malloc.h>

void Transpone(int **arr,int size)

{

int i=size-1, j=0;

if(i>0)

{

while(j<i)

{

int temp=arr[i][j];

arr[i][j]=arr[j][i];

arr[j][i]=temp;

j++;

}

size--;

Transpone(arr,size);

}

return;

}

int main()

{

int **A;

int i,j,size;

printf("Enter,how many strings and colomns do you want: ");

scanf("%d",&size);

A=(int**)malloc(size*sizeof(int*));

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

A[i]=(int*)malloc(size*sizeof(int));

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

{

for(j=0;j<size;j++)

{

printf("Element[%d][%d]= ",i,j);

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

}

}

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

{

for(j=0;j<size;j++)

printf("%-4.d ",A[i][j]);

printf("\n\n\n\n");

}

Transpone(A,size);

printf("\n\n\n\n");

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

{

for(j=0;j<size;j++)

printf("%-4.d ",A[i][j]);

printf("\n\n\n\n");

}

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

free(A[i]);

free(A);

getch();

return 0;

}

 

 

Перемножение матриц

#include <stdio.h>

#include <conio.h>

#include <malloc.h>

void Birth(float**&arr,int str, int col)

{

int i;

arr=(float**)malloc(str*sizeof(float*));

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

arr[i]=(float*)malloc(col*sizeof(float));

}

void Multiply(float** a,float** b,float** c,int str,int inner,int col)

{

int i,j,k;

i=0;

do

{

j=0;

do

{

c[i][j]=0;

k=0;

do

{

c[i][j]+=a[i][k]*b[k][j];

k++;

}

while(k<inner);

j++;

}

while(j<col);

i++;

}

while(i<str);

}

void Free( float** arr,int str)

{

int i;

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

free (arr[i]);

free(arr);

}

 

int main()

{

float **A,**B,**C;

int strings_a,colomns_a,strings_b,colomns_b;

int i,j;

printf("Enter,how manн strings do you want in matrix A: ");

scanf("%d",&strings_a);

printf("Enter,how many colomns do you want in matrix A and how many strings do you want im matrix B: ");

scanf("%d",&colomns_a);

strings_b=colomns_a;

printf("Enter,how many colomns do you want in matrix B: ");

scanf("%d",&colomns_b);

A=(float**)malloc(strings_a*sizeof(float*));

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

A[i]=(float*)malloc(colomns_a*sizeof(float));

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

for(j=0;j<strings_b;j++)

{

printf("Element [%d][%d]= ",i,j);

scanf("%f",&A[i][j]);

}

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

{

for(j=0;j<colomns_a;j++)

printf("%4.1f ", A[i][j]);

printf("\n\n\n");

}

B=(float**)malloc(strings_b*sizeof(float*));

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

B[i]=(float*)malloc(colomns_b*sizeof(float));

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

for(j=0;j<colomns_b;j++)

{

printf("Element [%d][%d]= ",i,j);

scanf("%f",&B[i][j]);

}

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

{

for(j=0;j<colomns_b;j++)

printf("%4.1f ", B[i][j]);

printf("\n\n\n");

}

Birth(C,strings_a,colomns_b);

Multiply(A,B,C,strings_a,colomns_a,colomns_b);

printf("\n*/////////////RESULT\\\\\\\\\\\\\\*\n\n");

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

{

for(j=0;j<colomns_b;j++)

printf("%4.2f ", C[i][j]);

printf("\n\n\n");

}

Free(C,strings_a);

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

free(A[i]);

free(A);

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

free(B[i]);

free(B);

getch();

return 0;

}

 

 

Реверс побочной диагонали

#include<stdio.h>

#include<conio.h>

#include<malloc.h>

void Revers(int **arr,int str,int col)

{

int i,j;

i=str-1;

j=col-str;

if(i>j)

{

int temp=arr[i][j];

arr[i][j]=arr[j][i];

arr[j][i]=temp;

str--;

Revers(arr,str,col);

}

}

 

int main()

{

int **A;

int strings,colomns,i,j,size=0;

printf("Enter,how many strings do you want: ");

scanf("%d",&strings);

printf("Enter,how many colomns do you want: ");

scanf("%d",&colomns);

A=(int**)malloc(strings*sizeof(int*));

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

A[i]=(int*)malloc(colomns*sizeof(int));

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

for(j=0;j<colomns;j++)

{

printf("Element[%d][%d]= ",i,j);

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

}

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

{

for(j=0;j<colomns;j++)

printf("%-4.d ",A[i][j]);

printf("\n\n\n\n");

}

Revers(A,strings,colomns);

printf("\n\n\n\n");

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

{

for(j=0;j<colomns;j++)

printf("%-4.d ",A[i][j]);

printf("\n\n\n\n");

}

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

free(A[i]);

free(A);

getch();

return 0;

}

 

 

Сравнение через командную строку, что-то такое

#include <stdio.h>

#include <malloc.h>

int StringLength(char* string)

{

int i=0;

while(string[i])

i++;

return i;

}

 

int StringCompare(char* string1, char* string2)

{

int i,j;

for(i=0,j=0;string1[i] && string2[j];i++,j++)

{

if (string1[i]<string2[j])

return -1;

else

if(string1[i]>string2[j])

return 1;

}

if(string1[i]=='\0' && string1[i]=='\0')

return 0;

 

if(string1[i]=='\0' && string2[j]!='\0')

return -1;

else

if(string2[j]=='\0'&& string1[i]!='\0')

return 1;

 

}

void main(int argc, char* argv[])

{

int i,j;

int compare_result;

int lenall=0,lenone=0;

char *result;

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

for( j=i+1;j<argc;j++)

{

compare_result=StringCompare(argv[i],argv[j]);

if(compare_result==1)

{

char *temp;

temp=argv[j];

argv[j]=argv[i];

argv[i]=temp;

}

}

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

printf("%s ",argv[i]);

}

 

 

Этот код можно использовать для нескольких задач, просто надо его надо подстроить по ситуации, сейчас это код: один массив по убыванию, второй – по возрастанию (всё без сортировок), в третий по возрастанию

#include<stdio.h>

#include<conio.h>

#include<malloc.h>

void Array(int*arr1,int*arr2,int*arr3,int size1,int size2)

{

int i,j,k;

for(i=0,j=size2-1,k=0;(i<size1 && j>=0);k++)

{

if(arr1[i]<arr2[j])

{

arr3[k]=arr1[i];

i++;

 

}

else

{

arr3[k]=arr2[j];

j--;

 

}

}

 

 

while(i<size1)

{

arr3[k]=arr1[i];

i++;

k++;

}

 

 

while(j>=0)

{

arr3[k]=arr2[j];

j++;

k++;

}

}

 

int main()

{

int *A,*B,*C;

int size_a,size_b,size_c;

int i;

printf("Enter the demision of array A: ");

scanf("%d",&size_a);

printf("Enter the demision of array B: ");

scanf("%d",&size_b);

A=(int*)malloc(size_a*sizeof(int));

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

{

printf("Element[%d]= ",i);

if(i==0)

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

else

{

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

if(A[i]<A[i-1])

i--;

}

}

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

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

B=(int*)malloc(size_b*sizeof(int));

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

{

printf("Element[%d]= ",i);

if(i==0)

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

else

{

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

if(B[i]>B[i-1])

i--;

}

}

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

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

size_c=size_a+size_b;

C=(int*)malloc(size_c*sizeof(int));

Array(A,B,C,size_a,size_b);

printf("\n\n\n\n\n");

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

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

free(A);

free(B);

free(C);

getch();

return 0;

}

 

 

Сумма int и float макросами

#include<stdio.h>

#include<conio.h>

#include<stdarg.h>

enum data

{Int,Float}tp;

float Sum(int k, int l, data tp, ...)

{

float sum=0;

va_list p;

va_start(p,tp);

while(k--)

{

switch(tp)

{

case Float:

while(l--)

sum+=va_arg(p,double);

break;

case Int:

while(l--)

sum+=va_arg(p,int);

break;

}

l=va_arg(p,int);

tp=va_arg(p,enum data);

}

va_end(p);

return sum;

}

 

 

int main()

{

float sum=Sum(3,2,Int,1,1,3,Float,1.4,2.7,4.6,4,Int,4,5,7,8);

printf("%f",sum);

getch();

return 0;

}

 

 

Максимальная сумма элементов из нескольких массивов(функция с переменным числом параметров)

#include<stdio.h>

#include<conio.h>

#include<malloc.h>

#define K 3

int MaxSum(int k,int size,float*arr, ...)

{

int i,j=0,sum, maxsum=0 ,maxindex=0;

float**p=&arr;

for(j=0;j<k;j++)

{

for(i=0,sum=0;i<size;i++)

sum+=p[j][i];

if(sum>maxsum)

{

maxsum=sum;

maxindex=j;

}

 

}

return maxindex;

}

int main()

{

int size,i,j,index;

float **array;

printf("Enter, the demision of arrays: ");

scanf("%d",&size);

array=(float**)malloc(K*sizeof(float*));

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

array[i]=(float*)malloc(size*sizeof(float));

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

for(j=0;j<size;j++)

scanf("%f",&array[i][j]);

index=MaxSum(K,size,array[0],array[1],array[2]);

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

printf("%f ",array[index][i]);

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

free(array[i]);

free(array);

getch();

return 0;

}

 

 

Вставить строку с n-ой позиции

#include<stdio.h>

#include<conio.h>

#include<malloc.h>

#include<Windows.h>

int GetStr(char*str,int size)

{

int i;

char c;

for(i=0;i<size&&(c=getche())!=13;i++)

{

str[i]=c;

}

str[i]='\0';

return i;

}

void Cancentaticon(char*str1,char*str2,int position)

{

int i,j;

for(i=0;str1[i]!='\0';i++);

for(j=0;str2[j]!='\0';j++);

j+=i;

while(i>position-2)

{

str1[j]=str1[i];

i--;

j--;

}

for(i=position-1,j=0;str2[j]!='\0';i++,j++)

str1[i]=str2[j];

}

int main()

{

char *string1,*string2;

int size1,size2,size,lenght1,lenght2,position;

printf("Enter,how many symbols do you want in the first string: ");

scanf("%d",&size1);

printf("Enter,how many symbols do you want in the second string: ");

scanf("%d",&size2);

system("cls");

string1=(char*)malloc(size1+1*sizeof(char));

string2=(char*)malloc(size2+1*sizeof(char));

printf("Enter string number 1: ");

lenght1=GetStr(string1,size1);

system("cls");

printf("Enter string number 2: ");

lenght2=GetStr(string2,size2);

system("cls");

printf("Enter,where do you want to concentanate the second string: ");

scanf("%d",&position);

system("cls");

size=lenght1+lenght2+1;

if(lenght1>=lenght2)

{

Cancentaticon(string1,string2,position);

printf("\n%s",string1);

}

else

{

Cancentaticon(string2,string1,position);

printf("\n%s",string2);

}

free(string1);

free(string2);

getch();

return 0;

}

 

 

Вывод чисел в обратном порядке

#include<stdio.h>

#include<conio.h>

static int i;

void Printf(int num)

{

 

int j;

scanf("%d",&j);

i++;

if(i<num)

Printf(num);

i--;

printf("%d ",j);

}

int main()

{

int number;

printf("Enter,how many numbers do you want: ");

scanf("%d",&number);

Printf(number);

getch();

return 0;

}

 

 

Из 10-ой СС в любую

#include<stdio.h>

#include<conio.h>

int ss;

char ms[200];

char znak='+';

int main()

{

int t,i,num1,k1=10,k2=11;

double num;

printf("Enter number: ");

scanf("%lf",&num);

printf("Enter accarsity: ");

scanf("%d",&t);

printf("Enter cc: ");

scanf("%d",&ss);

num<0?znak='-',num*=-1:num;

num1=num;

num-=num1;

while(num1>=ss)

{

i=num1%ss;

num1/=ss;

ms[k1--]=i>9?i-10+'A':i+'0';

}

ms[k1--]=num1>9?num1-10+'A':num1+'0';

ms[k1]=znak;

ms[k2++]='.';

while(num!=0&&k2-11<=t)

{

num*=ss;

i=num*ss;

num-=i;

ms[k2++]=i>9?i-10+'A':i+'0';

}

for(i=k1;i<k2;i++)

printf("%c",ms[i]);

getch();

return 0;

}

 

 

Минимальное в массиве строк

#include<stdio.h>

#include<conio.h>

#include<malloc.h>

#include<windows.h>

void GetStr(char*str,int size)

{

int i;

char c;

for(i=0;size>0&&(c=getche())!=13;size--,i++)

{

str[i]=c;

}

str[i]='\0';

 

}

int GetWord(char*str,int *i)

{

int len=0;

while(str[*i]==32)

(*i)++;

if(str[*i]=='\0')

return 0;

 

while(str[*i]!=32 && str[*i]!='\0')

{

len++;

(*i)++;

}

 

return len;

}

int main()

{

char** arr;

int number, size,i,lenght=0,location=0,minlenght,l_minword,index;

printf("Enter,how many strings do you want: ");

scanf("%d",&number);

arr=(char**)malloc(number*sizeof(char*));

printf("Enter,how many symbols in strings do you want: ");

scanf("%d",&size);

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

arr[i]=(char*)malloc(size+1*sizeof(char));

system("cls");

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

{

printf("Enter string number %d: ",(i+1));

GetStr(arr[i],size);

system("cls");

}

lenght=GetWord(arr[0],&location);

minlenght=lenght;

l_minword=location;

 

for(i=0,index=0;i<number;i++)

{

while(arr[i][location]!='\0')

{

lenght=GetWord(arr[i],&location);

if(lenght<minlenght)

{

minlenght=lenght;

l_minword=location;

index=i;

}

}

location=0;

}

 

for(i=l_minword-minlenght;i<=l_minword;i++)

printf("%c",arr[index][i]);

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

free(arr[i]);

free(arr);

getch();

return 0;

}

 

 

НОД рекурсией

#include<stdio.h>

#include<conio.h>

int Nod(int n,int m)

{

if(n<m)

{

int temp=n;

n=m;

m=temp;

}

if(n%m==0)

return m;

else

return Nod(n%m,m);

}

int main()

{

int number1, number2;

int nod;

scanf("%d%d",&number1,&number2);

nod=Nod(number1,number2);

printf("\n%d",nod);

getch();

return 0;

}

 

 

Реверс каждого слова в строке

#include<stdio.h>

#include<conio.h>

#include<malloc.h>

void GetStr(char*str,int size)

{

int i;

char c;

for(i=0;size>0&&(c=getche())!=13;size--,i++)

{

str[i]=c;

}

str[i]='\0';

}

int GetWord(char*str,int *i)

{

int len=0;

while(str[*i]==32)

(*i)++;

if(str[*i]=='\0')

return 0;

 

while(str[*i]!=32 && str[*i]!='\0')

{

len++;

(*i)++;

}

 

return len;

}

void Revers(char *str,int l, int r)

{

r--;

while(l<r)

{

int temp=str[l];

str[l]=str[r];

str[r]=temp;

l++;

r--;

}

}

 

int main()

{

char *string;

int size,location=0,left,lenght;

printf("Enter how many symbols do you want: ");

scanf("%d",&size);

string=(char*)malloc(size*sizeof(char));

printf("Enter string: ");

GetStr(string,size);

while(string[location]!='\0')

{

lenght=GetWord(string,&location);

left=location-lenght;

 

Revers(string,left,location);

 

}

printf("\n%s",string);

free(string);

getch();

return 0;

}

 

 

Реверс строки

#include<stdio.h>

#include<conio.h>

#include<malloc.h>

void GetStr(char*str,int size)

{

int i;

char c;

for(i=0;i<size&&(c=getche())!=13;i++)

{

str[i]=c;

}

str[i]='\0';

 

}

void Revers(char *str)

{

int i=0, j;

for(j=0;str[j+1]!='\0';j++);

while(i<j)

{

int temp=str[i];

str[i]=str[j];

str[j]=temp;

i++;

j--;

 

}

}

int main()

{

char *string;

int size,lenght;

printf("Enter,how many symbols do you want: ");

scanf("%d",&size);

string=(char*)malloc(size+1*sizeof(char));

printf("Enter string: ");

GetStr(string,size);

Revers(string);

printf("\n%s",string);

free(string);

getch();

return 0;

}

 

Рекурсивный реверс строки

#include<stdio.h>

#include<conio.h>

#include<malloc.h>

int GetStr(char*str,int size)

{

int i;

char c;

for(i=0;i<size&&(c=getche())!=13;i++)

str[i]=c;

str[i]='\0';

return i-1;

}

void Revers(char *str,int l, int r)

{

 

if(l<r)

{

int temp=str[l];

str[l]=str[r];

str[r]=temp;

l++;

r--;

Revers(str, l, r);

}

}

int main()

{

char *string;

int size,lenght;

printf("Enter,how many symbols do you want: ");

scanf("%d",&size);

string=(char*)malloc(size+1*sizeof(char));

printf("Enter string: ");

lenght=GetStr(string,size);

Revers(string,0,lenght);

printf("\n%s",string);

free(string);

getch();

return 0;

}

 

 

Седловая точка

#include<stdio.h>

#include<conio.h>

#include<malloc.h>

int main()

{

int **A;

int m,n,i,j,point,t,i1,i2,j1,alarm=0;

printf("Enter,how many strings do you want: ");

scanf("%d",&m);

printf("Enter,how many colomns do you want: ");

scanf("%d",&n);

A=(int**)malloc(m*sizeof(int*));

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

A[i]=(int*)malloc(n*sizeof(int*));

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

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

{

printf("Element[%d][%d]= ",i,j);

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

}

 

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

{

t=*(*(A+i)+0);

i1=i;

j1=0;

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

if(*(*(A+i)+j)<t)

{

t=*(*(A+i)+j);

i1=i;

j1=j;

}

point=0;

for(i2=0;i2<m;i2++)

if(t<=*(*(A+i2)+j1)&&i1!=i2)

point=1;

if(!point)

{

alarm=1;

printf("\n Naidena sedlovaia tochka %d s koordinatami: %d,%d",t,i1+1,j1+1);

 

}

}

if(!alarm)

printf("Net sedlovix tochek");

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

free(A[i]);

free(A);

getch();

return 0;

}

 

 

Синус

#include <stdio.h>

#include <conio.h>

#include <math.h>

#define pi 3.1415926535897932384626433832

long double factorial( long int number)

{

if(number==0|| number==1)

return 1;

return number* factorial(number-1);

}

double p(double base, double stage)

{

if (stage==0)

return 1;

if (stage==1)

return base;

return base * p(base, stage - 1);

}

double mod ( double numb)

{

if (numb>=0)

return numb;

return numb*(-1);

}

int main()

{

long double angl, calculatedsin=0, Maclaurinseries=1, sinlib;

int k=0, n, acc,iteration;

printf(" Please, enter angle ");

scanf("%lf", &angl);

printf(" Please, enter accuracy: ");

scanf("%d", &acc);

printf("Enter,how many iterations do you want: ");

scanf("%d",&iteration);

sinlib=sin(angl);

for(;angl<- pi|| angl>pi ;)

{

k=angl/pi;

angl=angl-(2*k*pi);

}

 

for(n=0;n<iteration && mod(Maclaurinseries)>(1/(p(10,acc)));n++)

{

Maclaurinseries=p((-1),n)*(p(angl,(2*n+1))/factorial(2*n+1));

calculatedsin=calculatedsin+Maclaurinseries; // Ряд Маклорена для синуса

}

acc++;

printf("Sin from your entered angle = ");

printf("%.*lf \n", acc,calculatedsin);

printf("For comparison, library sin = ");

printf("%.16lf \n", sinlib);

getch();

return 0;

}

 

 

Рекурсивное транспонирование по главной диагонали

#include<stdio.h>

#include<conio.h>

#include<malloc.h>

void Transpone(int **arr,int size)

{

int i=size-1, j=0;

if(i>0)

{

while(j<i)

{

int temp=arr[i][j];

arr[i][j]=arr[j][i];

arr[j][i]=temp;

j++;

}

size--;

Transpone(arr,size);

}

return;

}

int main()

{

int **A;

int i,j,size;

printf("Enter,how many strings and colomns do you want: ");

scanf("%d",&size);

A=(int**)malloc(size*sizeof(int*));

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

A[i]=(int*)malloc(size*sizeof(int));

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

{

for(j=0;j<size;j++)

{

printf("Element[%d][%d]= ",i,j);

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

}

}

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

{

for(j=0;j<size;j++)

printf("%-4.d ",A[i][j]);

printf("\n\n\n\n");

}

Transpone(A,size);

printf("\n\n\n\n");

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

{

for(j=0;j<size;j++)

printf("%-4.d ",A[i][j]);

printf("\n\n\n\n");

}

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

free(A[i]);

free(A);

getch();

return 0;

}

 

 

Перемножение матриц

#include <stdio.h>

#include <conio.h>

#include <malloc.h>

void Birth(float**&arr,int str, int col)

{

int i;

arr=(float**)malloc(str*sizeof(float*));

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

arr[i]=(float*)malloc(col*sizeof(float));

}

void Multiply(float** a,float** b,float** c,int str,int inner,int col)

{

int i,j,k;

i=0;

do

{

j=0;

do

{

c[i][j]=0;

k=0;

do

{

c[i][j]+=a[i][k]*b[k][j];

k++;

}

while(k<inner);

j++;

}

while(j<col);

i++;

}

while(i<str);

}

void Free( float** arr,int str)

{

int i;

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

free (arr[i]);

free(arr);

}

 

int main()

{

float **A,**B,**C;

int strings_a,colomns_a,strings_b,colomns_b;

int i,j;

printf("Enter,how manн strings do you want in matrix A: ");

scanf("%d",&strings_a);

printf("Enter,how many colomns do you want in matrix A and how many strings do you want im matrix B: ");

scanf("%d",&colomns_a);

strings_b=colomns_a;

printf("Enter,how many colomns do you want in matrix B: ");

scanf("%d",&colomns_b);

A=(float**)malloc(strings_a*sizeof(float*));

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

A[i]=(float*)malloc(colomns_a*sizeof(float));

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

for(j=0;j<strings_b;j++)

{

printf("Element [%d][%d]= ",i,j);

scanf("%f",&A[i][j]);

}

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

{

for(j=0;j<colomns_a;j++)

printf("%4.1f ", A[i][j]);

printf("\n\n\n");

}

B=(float**)malloc(strings_b*sizeof(float*));

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

B[i]=(float*)malloc(colomns_b*sizeof(float));

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

for(j=0;j<colomns_b;j++)

{

printf("Element [%d][%d]= ",i,j);

scanf("%f",&B[i][j]);

}

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

{

for(j=0;j<colomns_b;j++)

printf("%4.1f ", B[i][j]);

printf("\n\n\n");

}

Birth(C,strings_a,colomns_b);

Multiply(A,B,C,strings_a,colomns_a,colomns_b);

printf("\n*/////////////RESULT\\\\\\\\\\\\\\*\n\n");

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

{

for(j=0;j<colomns_b;j++)

printf("%4.2f ", C[i][j]);

printf("\n\n\n");

}

Free(C,strings_a);

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

free(A[i]);

free(A);

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

free(B[i]);

free(B);

getch();

return 0;

}

 

 

Реверс побочной диагонали

#include<stdio.h>

#include<conio.h>

#include<malloc.h>

void Revers(int **arr,int str,int col)

{

int i,j;

i=str-1;

j=col-str;

if(i>j)

{

int temp=arr[i][j];

arr[i][j]=arr[j][i];

arr[j][i]=temp;

str--;

Revers(arr,str,col);

}

}

 

int main()

{

int **A;

int strings,colomns,i,j,size=0;

printf("Enter,how many strings do you want: ");

scanf("%d",&strings);

printf("Enter,how many colomns do you want: ");

scanf("%d",&colomns);

A=(int**)malloc(strings*sizeof(int*));

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

A[i]=(int*)malloc(colomns*sizeof(int));

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

for(j=0;j<colomns;j++)

{

printf("Element[%d][%d]= ",i,j);

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

}

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

{

for(j=0;j<colomns;j++)

printf("%-4.d ",A[i][j]);

printf("\n\n\n\n");

}

Revers(A,strings,colomns);

printf("\n\n\n\n");

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

{

for(j=0;j<colomns;j++)

printf("%-4.d ",A[i][j]);

printf("\n\n\n\n");

}

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

free(A[i]);

free(A);

getch();

return 0;

}

 

 

Последнее изменение этой страницы: 2017-09-12

lectmania.ru. Все права принадлежат авторам данных материалов. В случае нарушения авторского права напишите нам сюда...