Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #define swap(x,y) do \
- { unsigned char swap_temp[sizeof(x) == sizeof(y) ? (signed)sizeof(x) : -1]; \
- memcpy(swap_temp,&y,sizeof(x)); \
- memcpy(&y,&x, sizeof(x)); \
- memcpy(&x,swap_temp,sizeof(x)); \
- } while(0)
- void citire(int v[][150],int NL, int NC)
- {
- int i=0,j=0;
- for(i=0; i<NC; i++)
- {
- for(j=0; j<NL; j++)
- {
- scanf("%d",&v[j][i]);
- }
- }
- }
- void tiparire(int v[][150],int NL,int NC)
- {
- int i=0,j=0;
- for(i=0; i<NL; i++)
- {
- for(j=0; j<NC; j++)
- {
- printf("%d ",v[i][j]);
- }
- printf("\n");
- }
- }
- void det_maxim(int v[][150],int NL,int NC)
- {
- int i=0,j=0,mx=-3200,pozi=0,pozj=0;
- for(i=0; i<NL; i++)
- {
- for(j=0; j<NC; j++)
- {
- if(v[i][j]>mx)
- {
- pozi=i;
- pozj=j;
- mx=v[i][j];
- }
- }
- }
- printf("Cel mai mare element este %d, pe linia %d si coloana %d",mx,pozi,pozj);
- }
- void constr_tab(int v[][150],int NL,int NC,int tab_sume[])
- {
- int i=0,j=0,s=0;
- for(i=0; i<NL; i++)
- {
- s=0;
- for(j=0; j<NC; j++)
- {
- s+=v[i][j];
- }
- tab_sume[i]=s;
- }
- printf("\nSumele sunt: ");
- for(i=0; i<NL; i++)
- {
- printf("%d ",tab_sume[i]);
- }
- printf("\n");
- }
- void interschimbare(int v[][150],int NL,int NC)
- {
- printf("prima coloana: ");
- int coloana_1;
- scanf("%d",&coloana_1);
- printf("a doua coloana: ");
- int coloana_2;
- scanf("%d",&coloana_2);
- if(coloana_1>NC || coloana_2>NC)
- {
- printf("Tabloul nu are atatea coloane");
- return;
- }
- int i=0;
- for(i=0; i<NL; i++)
- {
- swap(v[i][coloana_1],v[i][coloana_2]);
- }
- printf("\nTabloul cu coloana %d schimbata cu coloana %d\n",coloana_1,coloana_2);
- tiparire(v,NL,NC);
- }
- void cauta(int v[][150],int NL,int NC)
- {
- int valoare=0,pozi=0,pozj=0,i=0,j=0;
- printf("Cautati valoarea: ");
- scanf("%d",&valoare);
- for(i=0; i<NL; i++)
- {
- for(j=0; j<NC; j++)
- {
- if(v[i][j]==valoare)
- {
- pozi=i;
- pozj=j;
- }
- }
- }
- if(valoare)
- {
- printf("\nvaloarea %d se afla pe linia %d si coloana %d",valoare,pozi,pozj);
- }
- else
- {
- printf("\nvaloarea nu exista ");
- }
- }
- int main()
- {
- int NL,NC,v[150][150];
- printf("Numar linii: ");
- scanf("%d",&NL);
- printf("Numar coloane: ");
- scanf("%d",&NC);
- citire(v,NL,NC);
- tiparire(v,NL,NC);
- det_maxim(v,NL,NC);
- int tab_sume[NL];
- constr_tab(v,NL,NC,tab_sume);
- interschimbare(v,NL,NC);
- cauta(v,NL,NC);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement