matrice

Intrebari despre limbajul C++, standardul C++, STL, OOP in C++ sau alte subiecte nelegate de VisualC++
Post Reply
vili_c++
Junior
Junior
Posts: 19
Joined: 11 Feb 2014, 23:39
Judet: Dolj

matrice

Post by vili_c++ » 23 Dec 2014, 13:14

Buna ziua !
Am nevoie de ajutor la urmatorul cod
Am facut ceva dar codul nu afiseaza la fel ca in exemplul de mai jos.

Se citeste un vector cu n elemente si o matrice cu n linii si n coloane.
Sa se schimbe in matrice elementele primei coloane cu elementele vectorului,
apoi elementele coloanei a doua cu elementele vectorului si
elementele coloanei a treia cu elementele vectorului.

Exemplu:
Pentru n = 3.
A = {1 2 3}

B = {( 11 12 13 )
( 21 22 23 )
( 31 32 33 )}

B1 = {( 1 12 13 )
( 2 22 23 )
( 3 32 33 )}

B2 = {( 11 1 13 )
( 21 2 23 )
( 31 3 33 )}

B3 = {( 11 12 1 )
( 21 22 2 )
( 31 32 3 )}

Code: Select all

#include <stdio.h>
#include <stdlib.h>
#define dim 20
typedef int tab_1[dim];
typedef int tab_2[dim][dim];
void tab_unidimensional(tab_1 A, int n);
void tab_bidimensional(tab_2 B, int n);
void afisare(tab_2 B, int n);
void interschimbare1(tab_2 B, tab_1 A, int n);
void interschimbare2(tab_2 B, tab_1 A, int n);
void interschimbare3(tab_2 B, tab_1 A, int n);

int main()
{
    int i, j, n;
    tab_1 A;
    tab_2 B;
    printf("\n Introduceti dimensiunea vectorului: ");
    scanf("%d", &n);
    tab_unidimensional(A, n);
    tab_bidimensional(B, n);
    interschimbare1(B, A, n);
    interschimbare2(B, A, n);
    interschimbare3(B, A, n);
    return 0;
}

void tab_unidimensional(tab_1 A, int n)
{
    int i;
    for (i=0; i<n; i++)
    {
        printf("\n A[%d] = ", i);
        scanf("%d", &A[i]);
    }
    printf("\n Vectorul A:\n\n");
    for (i=0; i<n; i++)
        printf(" %d", A[i]);
    printf("\n");
}

void tab_bidimensional(tab_2 B, int n)
{
    int i, j;
    for (i=0; i<n; i++)
    {
        for (j=0; j<n; j++)
        {
            printf("\n B[%d][%d] = ", i, j);
            scanf("%d", &B[i][j]);
        }
    }
    printf("\n Matricea B:\n\n");
    afisare(B, n);
    printf("\n");
}

void afisare(tab_2 B, int n)
{
    int i, j;
    for (i=0; i<n; i++)
    {
        for (j=0; j<n; j++)
            printf("\t %d", B[i][j]);
        printf("\n");
    }
}

void interschimbare1(tab_2 B, tab_1 A, int n)
{
    int i, j;
    printf("\n Prima matrice\n\n");
    for (j=0; j<n; j++)
    {
        for (i=0; i<n; i++)
            B[i][0]=A[i];
    }
    afisare(B, n);
}

void interschimbare2(tab_2 B, tab_1 A, int n)
{
    int i, j;
    printf("\n A doua matrice\n\n");
    for (j=0; j<n; j++)
    {
        for (i=0; i<n; i++)
            B[i][1]=A[i];
    }
    afisare(B, n);
}

void interschimbare3(tab_2 B, tab_1 A, int n)
{
    int i, j;
    printf("\n A treia matrice\n\n");
    for (j=0; j<n; j++)
    {
        for (i=0; i<n; i++)
            B[i][2]=A[i];
    }
    afisare(B, n);
}



Post Reply