Jump to content
Frunzaaa

O problema pentru voi cred ca destul de usoara dar pt mine grea ca dracu :) PS:Sunt nou pe forumul asta

Recommended Posts

Deci ma ajuti te rog? :)) Daca nu vrei sa imi dai mura in gura macar explica-mi si o fac eu , eu am citit matricea, dar ceva nu functioneaza la algoritm o sa pun o poza sa vezi , dar sa stii ca m am apucat recent de programare si nu prea le am ... Inca nu am ajuns la partea cu punearea numerelor perfecte din matrice intr un vector

Link to comment
Share on other sites

Nu iti voi da mura in gura dar te ajut cum sa gandesti problema.

 

Sparge-o in 3 cazuri + combinarea lor:

1) Incearca sa rezolvi partea cu matricea (fa programul astfel incat sa citeasca matricea dintr-un fisier si sa o afiseze, nimic altceva)

2) Incearca sa faci un program care pur si simplu verifica daca un numar introdus de la tastatura e numar perfect

3) Incearca sa faci un vector din numere divizibiile cu 2 citite de la tastatura (sau de oriunde) - sau orice alta operatie matematica care iti verifica o conditie

4) Combina-le pe toate in ce ai tu nevoie (iei bucatile de cod si le bagi intrunul singur)

 

Bafta!

Link to comment
Share on other sites

 

#include <stdio.h>
#include <stdlib.h>
#define MAX_LIN 30
#define MAX_COL 20
#define DIM_MAX 30
int main()
{
    int mat[MAX_LIN][MAX_COL],v[DIM_MAX];
    int i,j,m,n,p,s=0;
    do
    {
        printf("\nDa-ti numarul de linii ");
        scanf("%d",&n);
    }
    while(n<0 || n>MAX_LIN);
    do
    {
        printf("\nDa-ti numar de coloane ");
        scanf("%d",&m);
    }
    while(m<0 || m>MAX_COL);
    printf("\n\n\nda-ti elementele matrici ");
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
    {
        printf("\nmat[%d][%d]=",i,j);
        scanf("%d",&mat[j]);
    }
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
    for(p=1;p<=mat[j]/2;p++)
    {
        if(mat[j]%p==0)
        {
            s=s+p;
        }

            if(s==mat[j])
            {
                printf("\n\nacestea sunt numerele perfecte din matrice=%d",mat[j]);
                if(1)
                {
                    s=0;

                }
            }
        }


    return 0;
}

Link to comment
Share on other sites

Stiu ca nu vrei sa imi dai mura in gura dar chiar nu pot sa fac problema , ma chinui de 2 zile sa scot numerele perfecte din matrice si ceva nu functioneaza la algoritm , dar nu stiu cum sa rezolv , deci cred ca o sa renunt ... Sau o sa intreb cv colegi de la facultate, oricum singur nu o pot face, dar daca imi dai rezolvarea macar pot sa ma uit peste ea si sa o inteleg ca apoi sa incerc sa fac iar problema de la 0.

Link to comment
Share on other sites

#pragma warning(disable:4996)
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
bool perfect(int nr)
{
    int s=0,i;
    for(i=0;i<nr/2;i++)
    {
        if(nr%i==0)
        {
            s=s+i;
        }
    }
    return s==nr ? true:false;
}

int main()
{
    int i,j,n,m,mat[20][30];
    int v[30];
    int p=0;
do
{
    printf("\nDa wa cat de mare sa fie liniile. ");
    scanf("%d",&n);
}
    while(n<1 || n>20);
    do
    {
        printf("\nDa dimensiunea coloanelor");
        scanf("%D",&m);
    }
    while(m<0 || m>30);
    printf("Da-ti elementele matricei");
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
    {
        printf("\nmat[%d][%d] ",i,j);
        scanf("%d",&mat[j]);
    }
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
        {
            if(perfect(mat[j]))
            {
                v[p]==mat[j];
                p++;
            }
        }

return 0;
}


asta e ceea ce am scris

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...