Консультация № 118841
16.01.2008, 17:35
0.00 руб.
0 2 2
Привет всем!!! Помогите решить две задачи, плиз! Для меня это целая наука!
Условия задач таковы:
1. Составить программу, которая по заданному массиву целых чисел строит новый массив, включающий все числа исходного массива, но по одному.
2. Дана целочисленная матрица размера 6*9. Найти матрицу, получающуюся из данной перестановкой строк - первой с последней, второй с предпоследней и т.д.
Спасибо за внимание!

Обсуждение

Неизвестный
16.01.2008, 17:46
общий
это ответ
Здравствуйте, Nadenka!
В приложении - текст программы для второй задачи (Microsoft Visual Studio 8)

Приложение:
#include<iostream>#include<iomanip>#include<conio.h>#include<time.h>using namespace std;void main () {int m,n,i,j,mm,t;srand (unsigned int (time (NULL)));cout << "Enter M, N: ";cin >> m >> n;int **b = new int *[m];for (i=0; i<m; i++) { b[i] = new int [n]; for (j=0; j<n; j++) b[i][j] = rand() % 99; }cout << endl;for (i=0; i<m; i++){ for (j=0; j<n; j++) cout << setw(4) << b[i][j]; cout << endl; }mm = m/2;for (i=0; i<mm; i++) for (j=0; j<n; j++){ t = b[i][j]; b[i][j] = b[m-i-1][j]; b[m-i-1][j] = t; }cout << endl;for (i=0; i<m; i++){ for (j=0; j<n; j++) cout << setw(4) << b[i][j]; cout << endl; }getch();}
Неизвестный
16.01.2008, 18:07
общий
это ответ
Здравствуйте, Nadenka!
Решение смотрите в приложение

Приложение:
// 1 задача#include "stdafx.h"using namespace std;#define VALUE 10bool rep(int *q, int w, int e){ for(int i=0; i<w; ++i) if(q[i]==e) return true; return false;}int main(){ int a[VALUE]={1,2,3,3,5,5,2,2,5,9}; int b[VALUE],n1,n2,c1=0; b[0]=a[0]; c1++; for(int i=0; i<VALUE; ++i) { if(!rep(b, c1, a[i]) ) {b[c1]=a[i]; c1++;} } for(int i=0; i<c1; ++i) cout<<b[i]<<" "; system("pause"); return EXIT_SUCCESS;}// 2 задача#include "stdafx.h"using namespace std;#define VALUE 10bool rep(int *q, int w, int e){ for(int i=0; i<w; ++i) if(q[i]==e) return true; return false;}int main(){ int a[6][9],t; srand(time(NULL)); for(int i=0; i<6; ++i) for(int j=0; j<9; ++j) a[i][j]=rand()%10; for(int i=0; i<6; ++i){ for(int j=0; j<9; ++j){ cout<<a[i][j]<<"\t";} cout<<endl;} cout<<endl; for(int i=0; i<6/2; ++i) for(int j=0; j<9; ++j) { t=a[i][j]; a[i][j]=a[6-i-1][j]; a[6-i-1][j]=t; } for(int i=0; i<6; ++i){ for(int j=0; j<9; ++j){ cout<<a[i][j]<<"\t";} cout<<endl;} system("pause"); return EXIT_SUCCESS;}
Форма ответа