- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •18 Задача
- •Int main()
- •Int main()
- •Int main ()
- •Int main ()
- •Int main()
- •Дополнительные задачи по лабораторной работе №14.
- •Int main()
- •Int main()
- •Void main ()
- •Int main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main ()
- •Int main()
- •Int main()
- •Лабораторная работа 25
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
Void main()
{register int i,fact=1,j;
printf("Vvedite i\n");
scanf("%d",&i);
for(j=i;j>=1;j--)
fact=fact*j;
printf("Fact=%d\n",fact);}
Лабораторная № 22(29,30,31)
Написать программу нахождения суммы четных положительных элементов и нечетных положительных, а также произведение положительных. Массив заполняется пользователем с клавиатуры. Результат вывести на экран.
#include <stdio.h>
#include <iostream>
#include <locale>
const int n=3;
int func1 (int arr[n][n], int n);
int func2 (int arr[n][n], int n);
int func_pr (int arr[n][n], int n);
Void main()
{
setlocale (LC_ALL, "Rus");
int arr[n][n], *p, i, j;
p=&arr[0][0];
printf ("Введите массив\n");
for (i=0; i<n; i++)
{
for (j=0; j<n; j++,p++)
{
scanf ("%d", p);
}
}
printf ("Сумма нечетных положительных элементов равна %d\n", func1(arr, n));
printf ("Сумма четных положительных элементов равна %d\n", func2(arr, n));
printf ("Сумма положительных элементов равна %d\n", func_pr(arr, n));
}
int func1 (int arr[n][n], int n)
{
int i, j, sum=0, *p;
p=&arr[0][0];
for (i=0; i<n; i++)
{
for (j=0; j<n; j++,p++)
{
if ((*p%2)&&(*p>0))
{
sum=sum+*p;
}
}
}
return (sum);
}
int func2 (int arr[n][n], int n)
{
int i, j, sum=0, *p;
p=&arr[0][0];
for (i=0; i<n; i++)
{
for (j=0; j<n; j++,p++)
{
if ((*p%2==0)&&(*p>0))
{
sum=sum+*p;
}
}
}
return (sum);
}
int func_pr (int arr[n][n], int n)
{
int i, j, pr=1, *p;
p=&arr[0][0];
for (i=0; i<n; i++)
{
for (j=0; j<n; j++,p++)
{
if (*p>0)
{
pr=pr**p;
}
}
}
return (pr);
}
№9 стр 21
Написать программу нахождения в заданной матрице седловой точки. Седловая точка - это максимальный элемент в столбце и одновременно минимальный в строке.
#include <stdio.h>
#include <iostream>
#include <locale>
const int n=3;
void func_str_min (int arr[n][n], int *b[n], int n);
void func_stl_max (int arr[n][n], int *k[n], int n);
Void main()
{
setlocale (LC_ALL, "Rus");
int arr[n][n], *p, *u1[n], *u2[n], i, j;
p=&arr[0][0];
printf ("Введите массив\n");
for (i=0; i<n; i++)
{
for (j=0; j<n; j++,p++)
{
scanf ("%d", p);
}
}
p=&arr[0][0];
func_str_min (arr,u1,n);
p=&arr[0][0];
func_stl_max (arr,u2,n);
for (i=0; i<n; i++)
{
for (j=0; j<n; j++)
{
if (u1[i]==u2[j])
{
printf (" Элемент [%d][%d]=%d является седловой точкой\n", i, j,*u1[i]);
}
}
}
}
void func_str_min (int arr[n][n], int *b[n], int n)
{
int min, i, j;
for (i=0; i<n; i++)
{
min=*(*(arr+i)+0);
b[i]=&arr[i][0];
for (j=0; j<n; j++)
{
if (min>*(*(arr+i)+j))
{
min=*(*(arr+i)+j);
b[i]=&arr[i][j];
}
}
}
}
void func_stl_max (int arr[n][n], int *k[n], int n)
{
int max, i, j;
for (i=0; i<n; i++)
{
max=*(*(arr+0)+i);
k[i]=&arr[0][i];
for (j=0; j<n; j++)
{
if (max<(*(*(arr+j)+i)))
{
max=*(*(arr+j)+i);
k[i]=&arr[j][i];
}
}
}
}
