forum.rastrnet.ru

forum.rastrnet.ru (http://forum.rastrnet.ru/index.php)
-   Программируем (http://forum.rastrnet.ru/forumdisplay.php?f=35)
-   -   Помогите решить задачи на С++ (http://forum.rastrnet.ru/showthread.php?t=56225)

elina 09.12.2010 17:51

Помогите решить задачи на С++
 
1. Описать и определить функцию minmax( x,y ), которая присваивает первому параметру большее, а второму – меньшее из значений x и y. Используя эту функцию, перераспределить введенные значения пере-менных A,B,C так, чтобы стало A<=B<=C.

2. Даны две квадратные матрицы. Напечатать ту из них, которая имеет минимальный "след" (т.е. сумму элементов главной диагонали). Использовать функцию для нахождения следа матрицы и функцию печати матрицы.

заранее спасибо

Techno 10.12.2010 00:12

задача 1
Спойлер про 1:

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

void minmax(int **,int **);
int _tmain(int argc, _TCHAR* argv[])
{int a,b,c,*x1=&a,*y1=&b,*z=&c;
std::cout<<"Enter A B C\n";std::cin>>a>>b>>c;
minmax(&y1,&x1);minmax(&z,&y1);minmax(&y1,&x1);
std::cout<<a<<" "<<b<<" "<<c;
getch();
x1=NULL;y1=NULL;z=NULL;
}

void minmax(int **x,int **y)
{int i;
if(**x<**y){i=**x;**x=**y;**y=i; }
}


задача 2
Спойлер про 2:

#include <iostream>
#include "conio.h"
const int r1=3,r2=4;
int sled(int *,int);
void print_m(int *,int,int);
int _tmain(int argc, _TCHAR* argv[])
{
int m1[r1][r1]={{5,6,7},{7,6,5},{67,67,8}},
m2[r2][r2]={{475,-65,-12,-65},{1,5,8,4},{78,-23,-89,6},{0,0,1,-20}};

if(sled(&m1[0][0],r1)<=sled(&m2[0][0],r2))print_m(&m1[0][0],r1,r1);
else print_m(&m2[0][0],r2,r2);
getch();
}
//--
int sled(int *mat, int r)
{int s=0;
for(int i=0;i<r;i++)s+=mat[i*r+i];
return s;
}
//--
void print_m(int *mat,int r1,int r2)
{
for(int i=0;i<r1;i++)
{
for(int j=0;j<r2;j++)
std::cout<<mat[i*r2+j]<<'\t';
std::cout<<'\n';
}
}
//--


Текущее время: 17:47. Часовой пояс GMT +7.

Powered by vBulletin® Version 3.8.4 Patch Level 5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot

Форум открыт в июле 2004 г.