Matriz Resolucao Do Grupo 2
#include <cstdlib>
#include <iostream>
 
using namespace std;
int l=0,c=0,i=0;
int main( )
{
    int v[18],m[3][6];
 
    for(i=0;i<18;i++)
    {
        v[i]=0;
    }
 
    for(l=0;l<3;l++)
    {
        for(c=0;c<6;c++)
        {
            m[l][c]=0;
        }
    }
 
    //CADASTRA NUMEROS NO VETOR
    for(i=0;i<18;i++)
    {
        v[i]=rand()%99;
    }
    cout<<"VETOR GERADO ALEATORIAMENTE\n";
    //IMPRIME O VETOR
    for(i=0;i<18;i++)
    {
        cout<<v[i]<<" ";
    }
 
    //GERA A MATRIZ
    for(l=0;l<3;l++)
    {
        if(l==0)
        {
            for(c=0;c<6;c++)
            {
                m[l][c]=v[c];
            }
        }
 
        if(l==1)
        {
            for(c=0;c<6;c++)
            {
                m[l][c]=v[c+6];
            }
        }
 
        if(l==2)
        {
            for(c=0;c<6;c++)
            {
                m[l][c]=v[c+12];
            }
        }
    }
 
    //IMPRIME A MATRIZ
    cout<<"\n\nMATRIZ GERADA\n";
    for(l=0;l<3;l++)
    {
        for(c=0;c<6;c++)
        {
            cout<<m[l][c]<<" ";
        }
        cout<<"\n";
    }
    system("PAUSE>>null");
    return 0;
}

Correção pelo grupo 8

André e Andreiva

O programa sempre gera o mesmo vetor e matriz, entao retiramos a biblioteca #include<cstdlib> ( que não achamos necessário ter) e colocamos a #include<time.h>. Com esta outra biblioteca foi possivel gerar vetores diferente e consequentemente mudar a matriz.

#include <time.h>
#include <iostream>
using namespace std;
 
int l=0,c=0,i=0;
int main( )
{
    int v[18],m[3][6];
    srand(time(NULL));
 
    for(i=0;i<18;i++)
        v[i]=0;
 
    for(l=0;l<3;l++)
        for(c=0;c<6;c++)
            m[l][c]=0;
 
    //CADASTRA NUMEROS NO VETOR
    for(i=0;i<18;i++)
        v[i]=rand()%99;
    cout<<"VETOR GERADO ALEATORIAMENTE\n";
    //IMPRIME O VETOR
    for(i=0;i<18;i++)
        cout<<v[i]<<" ";
 
    //GERA A MATRIZ
    for(l=0;l<3;l++)
    {
        if(l==0)
            for(c=0;c<6;c++)
                m[l][c]=v[c];
 
        if(l==1)
            for(c=0;c<6;c++)
                m[l][c]=v[c+6];
 
        if(l==2)
            for(c=0;c<6;c++)
                m[l][c]=v[c+12];
    }
 
    //IMPRIME A MATRIZ
    cout<<"\n\nMATRIZ GERADA\n";
    for(l=0;l<3;l++)
    {
        for(c=0;c<6;c++)
            cout<<m[l][c]<<" ";
        cout<<"\n";
    }
 
    system("PAUSE>>null");
    return 0;
}

Correção pela professora:

  1. O programa gera números de 0 a 98 e não de 1 a 99 como foi pedido. O correto seria: v[i]=(rand()%99)+1;
  2. O trecho de código para inserir os elementos do vetor em uma matriz poderia ser melhorado para:
    int lin=0, col=0;
    for (i=0; i<18; i++)
    {
         if (col == 6)
         {
            col = 0;
            lin++;
         }
         m[lin][col] = v[i];
         col++;
    }

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License