Frunzaaa Posted December 9, 2019 Report Posted December 9, 2019 Să se scrie un program C care citeşte o matrice de întregi şi construieşte un vector ce conţine numerele perfecte din matrice. Am reusit sa citesc matricea , inteleg si algoritul numerelor perfecte , dar ceva nu da bine .. Multumesc anticipat ! 1 Quote
Zatarra Posted December 9, 2019 Report Posted December 9, 2019 Intre a juca DotA/FIFA/LOL sau a incerca sa rezolvi problema asta ce ai alege? Hai spune ca ti-a fost data ca tema pentru maine sa te ajutam in noaptea asta Quote
Frunzaaa Posted December 9, 2019 Author Report Posted December 9, 2019 As alege sa rezolv problema, nu am tema pe maine si in loc sa ma critici mai bine imi aratai cum se rezolva .Ok la un moment dat m am dus pe lol dar ... Quote
Frunzaaa Posted December 9, 2019 Author Report Posted December 9, 2019 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 Quote
Frunzaaa Posted December 9, 2019 Author Report Posted December 9, 2019 https://imgur.com/rLnaXau Quote
Zatarra Posted December 9, 2019 Report Posted December 9, 2019 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! Quote
Vasile. Posted December 9, 2019 Report Posted December 9, 2019 Nu e tema, e Universita Ştefan Cel Mare Suceava Rtfm Quote
Frunzaaa Posted December 10, 2019 Author Report Posted December 10, 2019 Esti si tu la usv Vasile ? Sau de unde ai stiut? Quote
gigiRoman Posted December 10, 2019 Report Posted December 10, 2019 Cand parcurgi matricea tre sa pasezi elementul curent catre o functie care verifica daca e perfect: https://www.sanfoundry.com/c-program-perfect-number/ Ai un for de parcurgere a matricei si cand verifici daca e perfect tre sa bagi iar alt for. Pune cu copy paste codul tau. Quote
Frunzaaa Posted December 10, 2019 Author Report Posted December 10, 2019 #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; } Quote
Frunzaaa Posted December 10, 2019 Author Report Posted December 10, 2019 Nu stiu dc la if apare mat[ j ], cand eu am dat copy paste si la mine e mat [ i] [ j ] Quote
Frunzaaa Posted December 10, 2019 Author Report Posted December 10, 2019 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. Quote
gigiRoman Posted December 10, 2019 Report Posted December 10, 2019 (edited) // Edited December 10, 2019 by gigiRoman Quote
gigiRoman Posted December 10, 2019 Report Posted December 10, 2019 (edited) https://pastebin.com/Z65B3m8k https://www.onlinegdb.com/online_c_compiler Testat pe online compilerul asta Edited December 10, 2019 by gigiRoman 1 Quote
Taaz Posted December 11, 2019 Report Posted December 11, 2019 Ti-am lasat o poza + explicatii. Nu iti atasez codul pentru copy paste, in schimb iti ofer explicatii la aproape fiecare linie de cod 4 Quote
Frunzaaa Posted December 12, 2019 Author Report Posted December 12, 2019 am inceput sa scriu problema dar imi apare o eroare ce zice: unknown type name ' bool ' Quote
Frunzaaa Posted December 12, 2019 Author Report Posted December 12, 2019 #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 Quote
Frunzaaa Posted December 12, 2019 Author Report Posted December 12, 2019 scz ca .. poate te intreb chestii evidente dar nu prea stiu ... Quote
gigiRoman Posted December 12, 2019 Report Posted December 12, 2019 4 minutes ago, Frunzaaa said: scz ca .. poate te intreb chestii evidente dar nu prea stiu ... Ce ti-am dat eu mergea. Quote
Frunzaaa Posted December 12, 2019 Author Report Posted December 12, 2019 ok , atunci o sa scriu programul si voi vedea la sfarsit Quote
gigiRoman Posted December 12, 2019 Report Posted December 12, 2019 Da, copy paste in visual studio sau in code blocks. Si vezi tu. Quote