Задача на массивы

edzie

Заданы две матрицы А и В размером N x N. Сформировать из них прямоугольную матрицу Х размером N x 2N, включая в последовательно столбец ихз матрицы А, затем столбец из матрицы B. Помогите плиз! до завтра очень нужна готовая прога...
6 ответов

edzie

#include<iostream.h>
#include<process.h>
#include<stdlib.h>
#include<time.h>
 
int main ()
{
    const int n = 5;
    int A[n][n], B[n][n], C[n][2*n];
 
    srand(time(NULL));
 
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<n; j++)
        {
            A[i][j] = rand()%10;
            cout << A[i][j] << " ";
        }
        cout << endl;
    }
 
    cout << endl;
 
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<n; j++)
        {
            B[i][j] = rand()%10;
            cout << B[i][j] << " ";
        }
        cout << endl;
    }
 
    cout << endl;
 
    for (int i=0; i<n; i++)
        for (int j=0; j<n; j++)
        {
            C[i][2*j]   = A[i][j];
            C[i][2*j+1] = B[i][j];
        }
 
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<2*n; j++)
            cout << C[i][j] << " ";
        cout << endl;
    }
 
    system("pause");
    return 0;
}


edzie

что-то прога не работает


edzie

что за среда разработки? у меня 100 работоспособность!Добавлено через 3 минуты 3 секунды вот для Visual Studio 2008
#include"stdafx.h"
#include<iostream>
#include<process.h>
#include<stdlib.h>
#include<time.h>
 
using namespace std;
 
int main ()
{
    const int n = 5;
    int A[n][n], B[n][n], C[n][2*n];
 
    srand(time(NULL));
 
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<n; j++) 
        { 
            A[i][j] = rand()%10;
            cout << A[i][j] << " "; 
        }
        cout << endl;
    }
 
    cout << endl;
 
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<n; j++) 
        { 
            B[i][j] = rand()%10;
            cout << B[i][j] << " "; 
        }
        cout << endl;
    }
 
    cout << endl;
 
    for (int i=0; i<n; i++)
        for (int j=0; j<n; j++) 
        { 
            C[i][2*j]   = A[i][j];
            C[i][2*j+1] = B[i][j];
        }
 
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<2*n; j++)
            cout << C[i][j] << " ";
        cout << endl;
    }
 
    system("pause");
    return 0;
}


edzie

сейчас все норм тока мне N размеры массива необходимо ввести с клавиатуры!


edzie

ну вот и введи с клавиатуры... прийдеться создать динамическйи массив.. там понты подправлять..p.s: и вообще, необходимо ставить вопрос четко..Добавлено через 8 минут 31 секунду вот финальный код
#include"stdafx.h"
#include<iostream>
#include<process.h>
#include<stdlib.h>
#include<time.h>
 
using namespace std;
 
int main ()
{
    int n;
 
    cout << "Enter size of Matrix: ";
    cin >> n;
    cout << endl;
 
    //int A[n][n], B[n][n], C[n][2*n];
 
    int **A = new int*[n];
    int **B = new int*[n];
    int **C = new int*[n];
 
    srand(time(NULL));
 
    for (int i=0; i<n; i++)
    {
        A[i] = new int[n];
        for (int j=0; j<n; j++) 
        { 
            A[i][j] = rand()%10;
            cout << A[i][j] << " "; 
        }
        cout << endl;
    }
 
    cout << endl;
 
    for (int i=0; i<n; i++)
    {
        B[i] = new int[n];
        for (int j=0; j<n; j++) 
        { 
            B[i][j] = rand()%10;
            cout << B[i][j] << " "; 
        }
        cout << endl;
    }
 
    cout << endl;
 
    for (int i=0; i<n; i++)
    {
        C[i] = new int[2*n];
        for (int j=0; j<n; j++) 
        { 
            C[i][2*j]   = A[i][j];
            C[i][2*j+1] = B[i][j];
        }
    }
 
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<2*n; j++)
            cout << C[i][j] << " ";
        cout << endl;
    }
 
    system("pause");
    return 0;
}


edzie

Огромнейшее тебе спасибо