Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

C


Index » educatie » » informatica » C
» PORTOFOLIU PROBLEME


PORTOFOLIU PROBLEME


PORTOFOLIU PROBLEME

Sa se verifice daca vectorul a(n) cu componente nenule este format din numere aproape identice (doua numere sunt aproape identice daca difera printr-o singura cifra).

Codul sursa:

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

#include<math.h>

int v[100],n;

void main()



for(i=1;i<n;i++)

if (dif!=1)

}

printf('vectorul este format din numere aproape identice!n');

Date de intare:

n=5


Date de iesire:

Vectoul este format din numere aproape identice!

Algoritm:

Se iau doua numere alaturate din vectorul v, citit de la tastatura: v[i] si v[i+1].

Se impart succesiv cele doua numere la 10, retinandu-se resturile, cat timp numerele sunt diferite de 0. Daca resturile impartirii la 10 sunt diferite intre ele, atunci se incrementeaza un contor ( dif care retine numarul de cifre distincte dintre cele doua numere).

In momentul in care se intalneste o pereche cu numarul de cifre distincte diferit de 1 atunci programul se opreste din executie si se afiseaza mesajul: " vectorul nu este format din numere aproape identice!". Algoritmul se reia pentru fiecare pereche de numere v[i],v[i+1].

Daca la final conditiile din problema sunt indeplinite, se afieaza: 'vectorul este format din numere aproape identice!'.

2. Se dau n puncte in plan definite prin coordonatele lor si un cerc dat prin coordonatele centrului si raza.Sa se afiseze cate puncte sunt pe cerc, cate sunt in exterior si cate sunt in interior.

Codul sursa:

#include<stdio.h>

#include<conio.h>

#include<math.h>

int n,x[100],y[100],r,a,b,int_cerc=0,ext_cerc=0,pe_cerc=0;

void main()

printf('Care este raza cercului?n');

scanf('%d',&r);

printf('Care sunt coordonatele centrului?n' );

scanf('%d %d',&a,&b);

for(i=1;i<=n;i++)

printf('Numarul de puncte din interiorul cercului: %dn',int_cerc);

printf('Numarul de puncte de pe cerc: %dn',pe_cerc);

printf('Numarul de puncte din exteriorul cercului: %dn',ext_cerc);

getch();

Date intrare:

n=4

Coordonatele punctelor: (2,2) (4,3) (2,1) (5,4)

Raza cercului: 3

Coordonatele centrului: (0,0)

Date iesire:

Numarul de puncte din interiorul cerului: 2

Numarul de puncte de pe cerc: 0

Numarul de puncte din exteriorul cercului: 2

Algoritm:

Coordonatele vectorilor se retin in doi vectori: x-retine abscisa punctului ,iar y- retine ordonata punctului. Pentru fiecare punct se calculeaza distanta de la acesta la centrul cercului cu formula:

d=sqrt(pow(x[i]-a,2)+pow(y[i]-b,2).

Daca distanta este egala cu raza atunci punctul se gaseste pe cerc si se incrementeaza contorul care memoreaza cate puncte sunt pe cerc,daca este mai mica decat raza atunci punctul se gaseste in interiorul cercului si se incrementeaza contorul care memoreaza cate puncte sunt in interior, iar daca este mai mare decat raza, punctul se gaseste in exteriorul cercului si se incrementeaza contorul care memoreaza cate puncte sunt in exterior. La sfarsit acesti contori se afiseaza.

3. Sa se construiasca cel mai mare numar natural cu k cifre distincte 0<k<=9.

Cod sursa:

#include<conio.h>

#include<stdio.h>

#include<math.h>

void main()

printf('%ld',x);

printf('n');

Date intrare:

Dati k care trebuie sa fie cuprins din maxim 9 cifre:

k=8;

Date iesire:

Algoritm:

Se citeste de la tastatura k numar cuprind intre 0 si 9.Se construieste un vector de k pozitii astfel:

Pe prima pozitie se pune 9, iar celelalte elemente ale vectorului vor fi calculate scazand 1 din elementul precedent lor. Apoi se parcurge vectorul si se trece la formarea lui x ca numar, prin formula

x=x+v[i]*10j-1. Numarul astfel format se afiseaza.

Se dau doua matrici binare, cu aceleasi dimensiuni, fiecare linie din ele

reprezentand un numar in baza 2. Sa se construiasca matricea C astfel incat linia i sa reprezinte suma liniilor i din matricile A si B (ca suma de doua numere in baza 2. In caz de depasire a dimensiunii matricii C aceasta se va suplimenta cu o coloana).

Cod sursa:

#include<stdio.h>

#include<conio.h>

int n,m,a[100][100],b[100][100],c[100][100],tr;

void main()

printf('Elementele matricii B:n' );

for(i=1;i<=n;i++)

for(int j=1;j<=m;j++)

int exista=0;

for(i=1;i<=n;i++)

if (tr)

}

int k=0;

if(exista) k=0;

else k=1;

printf('Matricea suma este:n');

for(i=1;i<=n;i++)

Date intrare:

n=3

m=4

Elemnetele matricii A: Elemntele matricii B:

Date iesire:

Matrice suma este:


Algoritm:

Se citesc de la tastatura cele doua matrici si incepem parcurgerea lor pornind de la ultima colana la prima. Pentru fiecare linie avem un contor care retine transportul adunarii care initial este 0.

Se trece la calcularea elementelor matricii suma c[i][j], calculandu-se mereu si transportul dupa formula, tr=(a[i][j]+b[i][j]+tr)/2 toate operatiile fiind facute in baza 2.

Daca exista la sfarsitul unei iteratii exista transport, atunci el se trece in coloana 0, care este libera, deoarece numerotarea coloanelor s-a inceput de la 1.

La sfarsit se afiseaza matricea suma C.

5. Sa se ordoneze strict descrescator un vector a(n) dupa numarul de cifre distincte ale fiecarui numar.

Cod sursa:

#include<stdio.h>

#include<conio.h>

int v[100],c[100],cifra[10],n;

void main()

for(j=0;j<=9;j++) if (cifra[j]>0) c[i]++;

for(i=0;i<n-1;i++)

for(int j=i+1;j<n;j++)

if(c[j]>c[i])

printf('Vectorul ordonat descrescator dupa numarul de cifre distincte ale componentelor este:');

for(i=0;i<n;i++) printf('%d ',v[i]);

Date intrare:

n=5

Elementele vectorului:


Date iesire:

Vectorul ordonat descrescator dupa numaul de cifre distincte al componentelor este:

Algoritm:

Se citeste vectorul v de la tastatura. Pentru fiecare elemnt din vector facem urmatoarele operatii:

Retinem in vectorul cifra (vector de 9 elemente) de cate ori apare cifra j in numarul v[i].Dupa ce se completeaza acest vector (prin impartirea lui v[i] in cifre), il parcurgem si atunci cand gasim un element cifra[j]>0, j=1,9 incrementam vectorul c pe pozitia i (vectorul c are semnificatia ca retine numarul de cifre distincte din numarul v[i]).

La sfarsit ordonam vectoul c si concomitent cu acesta schimbam si vectorul v. Afisam vectorul v.

6. Sa se determine elementele distincte dintr-un vector si frecventa lor de aparatie.

Cod sursa:

#include<stdio.h>

#include<conio.h>

int n,a[100];

void main()

for(i=0;i<n-1;i++)

for(int j=i+1;j<n;j++)

if(a[i]>a[j])

i=0;

while(i<n)

printf('Numarul %d apare in vector de %d orin',x,j);

Date intrare:

n=8;

Date iesire:

Numarul 3 apare in vector de 4 ori

Numarul 5 apare in vector de 2 ori

Numarul 9 apare in vector de 2 ori

Algoritm:

Se citeste vectorul de la tastatura si se ordoneaza.

Apoi se parcurge vectorul intr-o repetitie de la 1 la n. Il fixam pe a[i] si cat timp gasim valoarea acestuia in vector i creste si nr lui de aparitii in vector creste (j). Cand am gasit o valoare diferita de a[i]-ul initial, afisam de cate ori apare acesta in vector si trecem la numarul urmator, continuand cu acelasi procedeu.

7. Sa se elimine linia l si coloana c dintr-o matrice de dimensiune n*m.

Cod sursa:

#include<stdio.h>

#include<conio.h>

int n,m,i,j,c,l,a[10][10];

void main()

printf('nLinia care trebuie eliminata este l='); scanf('%d',&l);

printf('nColoana care trebuie eliminata este c='); scanf('%d', &c);

for(i=l-1;i<n;i++)

for(j=0;j<m;j++)

a[i][j]=a[i+1][j];

for(j=c-1;j<m;j++)

for(i=0;i<n;i++)

a[i][j]=a[i][j+1];

n--; m--;

for(i=0;i<n;i++)

Date intrare:

n=3

m=4

Elementele matricii:


Linia care trebuie eliminata: 3

Coloana care trebuie eliminata: 4

Date iesire:

Algoritm:

Se citesc de la tastatura matricea, linia si coloana care trebuie eliminate.

Pentru eliminarea liniei: se parcurge matricea de la linia l-1 (deoarece numerotarea liniilor s-a inceput de la 0), si pentru fiecare coloana , pe linia i se copiaza elementele de pe linia i+1;

Pentru eliminarea coloanei: se parcurge matricea de la coloana c-1 (deoarece numerotarea coloanelor s-a inceput de la 0), si pentru fiecare linie , pe coloana i se copiaza elementele de pe coloana i+1;

Dimensiunile matricii scad cu 1. La sfarsit se afisseaza matricea.

8. Se citesc n numere naturale mai mici sau egale cu 255.Sa se afiseze toate grupele de numere care au acelasi numar de cifre de 1 in reprezentarea lor in baza 2.

Cod sursa:

#include<stdio.h>

#include<conio.h>

int n,v[100],nr[100];

void main()

for(i=0;i<n;i++)

for(i=0;i<n;i++)

}

}

Date intrare:

n=6

Elementele vectorului:


Date iesire:

9 12

Algoritm:

Se citeste vectorul de la tastatura. Pentru fiecare element din vectorul v se procedeaza astfel:

Se memoreaza elemntul intr-o alta variabila k. Pe k il impartim succesiv la 2 si comparam restul impartirii cu 1. Daca sunt egale, atunci se incrementeaza cu 1 vectorul numar pe pozitia i( vectorul numar retine cate elemente de 1 are numarul k in reprezentarea in baza 2). K ia valoarea catului impartirii lui k la 2.

La sfarsit : daca nr[i]> =0 afisam elementul de pe pozitia i din v si parcurgem vectorul nr inca o data pornind de la pozitia i+1. Daca gasim elemnete nr[j]= cu nr[i] atunci afisam elementele din v corespunzatoare si le marcam cu -1, semn ca au fost deja afisate. Procedeul se repeta.

9. Se citesc n numere naturale. Fara a face inmultirea celor n numere sa se determine cate zerouri are produsul celor n numere.

Cod sursa:

#include<stdio.h>

#include<conio.h>

int n,a[100];

void main()

while(k%5==0)

if(putere_2<putere_5) printf('Produsul celor %d numere are %d zerourin',n,putere_2);

else printf('Produsul celor %d numere are %d zerourin',n,putere_5);

Date intrare:

n=6

Elementele din vector sunt:


Date iesire:

Produsul celor 6 numere are 4 zerouri.

Algoritm:
Se citeste vectorul de la tastatura. Pentru fiecare numar din vector se procedeaza astfel:

Se ia numarul si se imparte cat de mult se poate la 2, crescandu-se de fiecare data cu 1 contorul putere_2. Dupa ce se face acest lucru cu fiecare v[i] din vector, la sfarsit, in contorul putere_2, se obtine puterea lui 2 din produsul celor n numere.

Apoi, numarul se imparte cat de mult se poate la 5, crescandu-se de fiecare data cu 1 contorul putere_5. Dupa ce se face acest lucru cu fiecare v[i] din vector, la sfarsit, in contorul putere_5, se obtine puterea lui 5 din produsul celor n numere. Se compara apoi contorii putere_2 si putere_5. Puterea lui 10 din produs este data de cel mai mic dintre cele doua numere.

10. Fie x un sir de numere intregi. Sa se insereze intre oricare doua elemente care sunt numere prime impare, aflate pe pozitii consecutive, media lor aritmetica.

Cod sursa:

#include<stdio.h>

#include<conio.h>

#include<math.h>

int n,a[100],prim[100];

void main()

for(i=0;i<n;i++) prim[i]=0;

for(i=0;i<n;i++)

d=d+1;

}

if(c==0 && a[i]%2!=0 && a[i]!=1) prim[i]=1;

i=0;

int j=0;

while(i<n)

else j=j+1;

i=i+1;

printf('Vectorul obtinut este:');

for(i=0;i<n;i++) printf('%3d',a[i]);

Date intrare:

n=8

Elementele vectorului:

2 3 5 8 7 11 9

 

Date iesire:


Algoritm:

Se citeste vectorul de la tastatura. Se initializeaza vectorul prim cu elemente de 0.

Pentru fiecare element din vector se procedeaza astfel:

Folosind testul de numar prim, verificam daca a[i] este prim sa nu. Daca a[i] este prim, verifica daca este impar si daca este diferit de 1( deoarece 1 nu este numar prim). Daca sunt indeplinite aceste conditii, atunci pe pozitia I in vectorul prim se trece 1, marcaj care arata ca numarul a[i] indeplineste conditiile puse.

Apoi, intr-o repetitie cu i=0,n-1 procedam astfel:

Daca prim[i] si prim[i+1] sunt 1 (adica am gasit doua numere prime impare pe pozitii consecutive), deplasam toate elementele vectorului cu o pozitie la dreapta si inseram pe pozitia j+1 media lor aritmetica. j creste cu 2. In caz contrar j creste cu 1, la fel ca si i.

La sfarsit se afiseaza vecorul.

11. Sa se verifice daca matrice A este un patrat magic.O matrice este patrat magic daca suma elementelor de pe fiecare linie=suma elementelor de pe fiecare coloana=suma elementelor de pe diagonale.

Cod sursa:

#include<stdio.h>

#include<conio.h>

#include<process.h>

int n,m,a[10][10],s_linie[10],s_coloana[10];

void main()

int s_diag1=0,s_diag2=0;

for(i=1;i<=n;i++)

if(s_diag1!=s_diag2)

else

for(int j=1;j<=n;j++)

for(i=1;i<=n;i++)

if(s_linie[i]!=s_diag1 || s_coloana[i]!=s_diag1)

printf('Matricea data este patrat magic!!!');

Date intrare:

Exemplu 1: Exemplul 2:

n=3    n=3


Date iesire:

Matricea data este patrat magic!!! Matrice data nu este patrat magic!!!

Algoritm:

Se citeste de la tastatura matricea. Se calculeaza suma elementelor de pe diagonale:

s_diag1=s_diag1+a[i][i];

s_diag2=s_diag2+a[i][n-i+1];

Daca aceste sume nu sunt egale, atunci se afiseaza pe ecran Matricea data nu este patrat magic!!! Si programul se opreste din executie. Altfel, se calculeaza sumele elementelor de pe fiecare linie care sunt trecute in vectorul s_linie[i] si sumele elementelor de pe fiecare coloana care sunt trecute in vectorul s_coloana[i]. pentru I de la 1 la n se verifica daca exista vreo valoare din vectorii s_linie si s_coloana care sa fie diferita de suma elementelor de pe diagonale.Daca da, se afiseaza Matricea data nu este patrat magic!!!, daca nu, se afiseaza Matricea data este patrat magic!!!.

12. Sa se determine daca o matrice are puncte sa. Un punct sa este un element din matrice care are proprietatea ca este minim pe linia sa si maxim pe coloana pe care se afla.

Cod sursa:

#include<stdio.h>

#include<conio.h>

int a[10][10],n,m;

void main()

int exista=0;

for(int j=0;j<m;j++)

int gasit=0;

for(i=0;i<n;i++)

if(a[i][j]==max)

if(exista==0) printf('Nu exista puncte sa in aceasta matrice!!!');

else printf('In matrice exista %d puncte sa',exista);

Date intrare:

Exemplul 1: Exemplul 2:

n=3    n=3

m=3    m=3


Date iesire:

Punctul 2 de pe linia 1, coloana 1 este punct sa. Nu exista puncte sa in acesta matrice.

Punctul 2 de pe linia 3, coloana 1 este punct sa.

In matrice exista 2 puncte sa.

Algoritm:

Se citeste matricea de la tastatura. Contorul exista are semnificatia: este =0 daca nu pana la sfarsitul programului nu s-a gasit nici un punct sa si diferit de 0 daca exista puncte sa, fiind egal cu numarul lor.

Se parcurge matricea pe coloane,pe fiecare coloana procedand astfel:

se determina maximul pe coloana. Se parcurge matricea din nou pe toate liniile si coloana respectiva care se fixeaza. Daca gasim mai multe elemente care sunt maxime atunci pt fiecare dintre ele, ne uitam pe linia corespunzatoare lor si daca nu exista nici un element care sa fie mai mic decat ele atunci indeplinesc conditia de punct sa. Contorul exista creste cu 1 si se afiseaza punctul.

La sfarsit, dca exista e 0 se afiseaza Nu exista puncte sa in acesta matrice. Altfel se afiseaza cate puncte sa exista.

13.Sa se roteasca elementele unui vector cu k pozitii la dreapta sau la stanga.Utilizatorul va indica directia de rotatie.

Cod sursa:

#include<stdio.h>

#include<conio.h>

int n,v[10],k,c;

void main()

break;

}

case 2:

break;

}

printf('vectorul obtinut prin rotatie este:n');

for(i=0;i<n;i++) printf('%d ',v[i]);

Date intrare:

Exemplul 1: Exemplul 2:

n=6    n=6

nr de poz dupa care se face rotirea: 2    nr de poz dupa care se face rotirea: 2

directia de rotire(1=dreapta sau 2=stanga):1 directia de rotire(1=dreapta sau 2=stanga):2

Date iesire:


Algoritm:

Se citeste vectorul de la tastatura. Se citeste k=nr de pozitii dupa care se face rotirea si directia de rotire (1=dreapta sau 2=stanga).

Daca directia de rotire=1(dreapta):

Pentru i de la 0 la k-1 se deplaseaza elementele vectorului cu o unitate la dreapta, v[0] primind valoarea lui v[n-1].

Daca directia de rotire=2(stanga):

Pentru I de la 0 la k-1 se deplaseaza elementele vectorului cu o unitate la sanga,     v[n-1] primind valoarea lui v[0].

La sfarsit se afiseaza vectorul obtinut.

14. Sa se realizeze un program care determina cate elemente de pe fiecare linie a unei matrice sunt prime. Sa se afiseze liniile cu cele mai multe elemente prime.

Cod sursa:

#include<stdio.h>

#include<conio.h>

#include<math.h>

int a[10][10],n,m;

void main()

int gasit=0;

for(i=1;i<=n;i++)

else d=d+1;

}

}

else prim=1;

if(prim==0)

}

if(gasit==0) printf('In matrice nu se gasesc linii care sa contina numere prime!!!');

else

for(i=1;i<=n;i++)

if(a[i][0]==max)

Date intrare:

Exemplul 1: Exemplul 2:

n=3    n=3

m=4    m=3

 


Date iesire:

Liniile care contin cele mai multe elemente prime sunt: In matrice nu se gasesc linii care sa contina numere prime!!!

2 7 9

Algoritm:

Se citeste matricea de la tastatura. Pe coloana 0 a matricei vom memora cate numere prime se gasesc pe fiecare linie I din matrice. Folosim si un contor gasit care la inceput e initializat cu 0 si are semnificatia: 0 daca nu exista linii cu numere prime, diferit de 0 daca exista.

Pentru fiecare linie se procedeaza astfel:

Testam cate elemente de pe linie sunt prime, folosind testul de numar prim. Cum se gaseste un element prim pe linia i, se incrementeaza a[i][0], iar contorul gasit se face 1.

La sfarsit gasim maximul de pe coloana 0 si afisez toate liniile care au a[i][0] maxim.

15. Se dau doi vectori:a ordonat crescator si b neordonat.Sa se intercaleze printre elementele vectorului a elementele vectorului b astfel incat vectorul a sa ramana ordonat crescator.

Cod sursa:

#include<stdio.h>

#include<conio.h>

int a[100],b[100],n,m;

void main()

printf('Vectorul obtinut este:n');

for(i=0;i<n;i++) printf('%2d ',a[i]);

Date intrare:

n=4

2 6

  m=3

Date iesire:

Algoritm:

Se citesc de la tastatura cei doi vectori.

Se parcurge vectorul b si pentru fiecare element se procedeaza astfel:

Initializam un contor j cu 0. Cat timp elementul b[i] este mai mare decat elementele a[j], j creste. Apoi, cand am gasit un element a[j] care este mai mare decat b[i], se deplaseaza elementele vectorului a cu o pozitie la dreapta, iar pe pozitia j se insereaza elementul b[i].

Se afiseaza vectorul obtinut.

16. Sa se efectueze inmultirea sau adunarea matricilor a si b date de la tastaura ,operatia dorita fiind specificata de catre utilizator.

Cod sursa:

#include<stdio.h>

#include<conio.h>

int a[10][10],b[10][10],c[10][10],n,s[4],d;

void main()

printf('Elementele matricii B:n');

for(i=0;i<n;i++)

for(int j=0;j<n;j++)

printf('Care este operatia pe care vreti sa o efectuati? (1=adunare sau 2=inmultire)');

scanf('%d',&d);

switch(d)

break;

case 2:

printf('Matricea inmultire este:n');

for(int i=0;i<n;i++)

break;

Date intrare:

n=3

5 8

12 9

2 1

  2 3

5 4

8 9

  a: b:

Care este operatia pe care vreti sa o efectuati? (1=adunare sau 2=inmultire)

Date iesire:

Pentru op 1:

3 7 11

13

10

  a+b:

Pentru op 2:


a*b:

Algoritm:

Se citesc de la tastatura matricile si optiunea pentru operatia dorita.

Pentru adunare: matricea suma c este obtinuta prin formula: c[i][j]=a[i][j]+b[i][j]; cu i ,j

De la 0 la nPentru inmultire: matricea c este obtinuta prin formula: c[i][j]=c[i][j]+a[i][k]*b[k][j] cu I,j,k de la 0 la n

La sfarsit se afiseaza matricile obtinute in functie de operatia dorita.

17. Sa se calculeze suma primilor n termeni din urmatorul sir infinit: 1,3,5,11,21,43,85

Cod sursa:

#include<stdio.h>

#include<conio.h>

int n,v[100];

void main()

printf('Suma primelor elemente din sir este: %d',s);

Date intrare:

n= 8

Date iesire:


S=340.

Algoritm:

Se citeste n de la tastatura si se genereaza elementele vectorului printr-o formula recurenta: daca I este par atunci v[i]=2*v[i-1]+1, daca i este impar atunci v[i]=2*v[i-1]-1.

Se afiseaza vectorul obtinut si concomitent se calculeaza suma elementelor care se afiseaza la sfarsit.

18. Fiind data o matrice sa se elimine liniile si coloanele la intersectia carora se afla valoarea 0.

Cod sursa:

#include<stdio.h>

#include<conio.h>

int a[10][10],n,m,x;

void main()

printf('Matricea initiala este:n');

for(i=0;i<n;i++)

do

while(!x);

if(n==0||m==0)

printf('S-au sters toate liniile si coloanele din matrice!!!');

else

printf('Matricea finala este:n');

for(i=0;i<n;i++)


Date intrare:

n=5

m=5

Date de iesire:

Matricea initiala este: Matricea finala este:


Algoritm:

Se citeste matricea de la tastatura. Se procedeaza astfel:

Cat timp se mai gasesc elemente diferite de 0 in matrice parcurgem matricea, si cand gasim un element egal cu 0, stergem mai intai linia pe care se afla, si apoi coloana pe care se afla. Daca la sfarsit n sau m, dimensiunile matricii devin 0 atunci se afiseaza S-au sters toate liniile si coloanele din matrice!!!. Altfel se afiseaza matricea obtinuta.

19. Se citeste de la tastaura o matrice cu n linii si m coloane.Sa se interschimbe linii si coloane astfel incat in matricea rezultata elementele de pe diagonala principala sa fie sortate.

Cod sursa:

#include<stdio.h>

#include<conio.h>

int a[10][10],n,m;

void main()

printf('Matricea in forma initiala este:n');

for(i=0;i<n;i++)

int ordonat=0;

do

for(k=0;k<m;k++)

ordonat=0;

while(ordonat==0);

printf('n');

printf('Matricea in forma finala este:n');

for(i=0;i<n;i++)

Date intrare:


n=5

m=5


Date iesire:

Algoritm:

Se citeste de la tastatura matricea. Cat timp elementele de pe diagonala principala nu sunt inca ordonate, intr-o repetitie de la 1 la n se verifica daca a[i][i]>a[i+1][i+1]. Daca da, se schimba mai intai linia I cu linia i+1 si apoi coloana j cu coloana j+1 si procedeul de repeta.

Apoi matricea finala se afiseaza.

20. Se da un sir de numere cu n componente intregi.Sa se ordoneze crescator primele k numere din sir si descrescator celelalte n-k. si sa se afiseze noul sir.

Cod sursa:

#include<stdio.h>

#include<conio.h>

int v[100],n,k;

void main()

for(i=k;i<n-1;i++)

for(int j=i;j<n;j++)

if(v[i]<v[j])

for(i=0;i<n;i++)

printf('%d ',v[i]);

Date intrare:

n=7

k=4

Date iesire:


Algoritm:

Se citeste de la tastatura vetorul si numarul k. Pentru i de la 0 la k-1 se sorteaza vectorul crescator, iar pentru i de la k la n-1 se sorteaza descrescator prin metoda cunoscuta de sortare. La sfarsit se afiseaza vectorul v obtinut






Politica de confidentialitate




Copyright © 2024 - Toate drepturile rezervate

Afaceri


Access
Adobe photoshop
Autocad
Baze de date
C
Calculatoare
Corel draw
Excel
Foxpro
Html
Internet
Java
Linux
Mathcad
Matlab
Outlook
Pascal
Php
Powerpoint
Retele calculatoare
Sql
Windows
Word





termeni
contact

adauga