Jump to content

Recommended Posts

Posted

Am si eu nevoie de ajutorul vostru intro problema de C++. Eu nu am mai pus mana pe C++ de 3 ani de zile, si am uitat cam cum se rezolvau problemele, spre rusinea mea. Fara prea multa vorbaraie, problema suna asa:

Se citeste un tablou unidimensional.

Sa se afle :a) Suma elementelor divizibile cu 5.

b)Suma elementelor cu proprietatea ca sunt divizibile cu 2 dar nedevizibile cu 3.

c) Suma elementelor cu proprietatea ca sunt egali cu suma vecinilor din stanga si suma vecinilor din dreapta .

Pentru cel ce ma ajuta, mii de multumiri, si poate la nevoie il ajut si eu. Sunt recunoscator pe buna dreptate!

Multumesc anticipat! :D

Posted

Citire tablou unidimensional (a.k.a. matrice p?tratic?)


int a[100][100], i, j; // Definim matricea si contoarele.
int n=3; // Numarul de linii si coloane - el poate fi citit de la tastatura.

for (i=1; i<=n; i++) {
for (j=1; j<=n; j++) {
cout << "a[" << i << "][" << j << "] = ";
cin >> a[i][j];
}
}

Divizibilitatea cu 5

if ( a[i][j]%5 == 0 ) {
suma += a[i][j];
}

Divizibilitatea cu 2 dar f?r? 3


if ( (a[i][j]%2 == 0) && (a[i][j]%3 != 0) ) {
suma += a[i][j];
}

Suma elem. cu proprietatea c? sunt egali cu suma vecinilor din stânga ?i dreapta


if ( a[i][j] == a[i][j-1] + a[i][j+1] ) {
suma += a[i][j];
}

Codurile cu suma le introduci în for-uri identice cu cele de la citire, de la 1 pân? la n. Define?ti tu ce trebuie. Codul este netestat, scris pe loc.

Posted (edited)


#include <iostream.h>
#include <conio.h>
int main()
{ clrscr();
int n; //numarul de elemente din tablou
cout<<"Introduceti numarul de elemente din vector: ";
cin>>n;

int a[100];

int sa = 0, sb = 0; //suma de la punctul a si suma de la punctul b
for (int i=0; i<n; i++)
{
cout <<"a["<<i<<"]= ";
cin>>a[i];
if (a[i]%5 == 0) sa += a[i];
if ((a[i] % 2 == 0) && (a[i] % 3 != 0)) sb += a[i];
}
cout<<endl<<"Suma elementelor din vector divizibile cu 5 este: "<<sa;
cout<<endl<<"Suma elementelor din vector divizibile cu 2, dar nu si cu 3 este: "<<sb;
getch();
return 0;
}

Punctele a) si B). La c) nu prea am inteles ce vrei.

LE: wtf pr00f?!? tablouri unidimensionale = matrici patratice? De cand? Eu stiam ca sunt vectori...

Edited by TheTime
Posted
LE: wtf pr00f?!? tablouri unidimensionale = matrici patratice? De cand? Eu stiam ca sunt vectori...

C?cat, sunt prost. Profesorul meu de info spune tablou atunci când se refer? la matrici (ceea ce este corect). Când am citit unidimensional, m-am gândit la matrice p?tratic?. Sunt obosit, asta e. Revin cu rezolvarea complet?. Cât despre punctul c), singura rezolvare având în vedere exprimarea problemei este suma vecinilor s?i (i-1 + i+1).

Posted


#include <iostream.h>
void main()
{
int n; //numarul de elemente din tablou
cout<<"Introduceti numarul de elemente din vector: ";
cin>>n;

int a[100];

int sa = 0, sb = 0; //suma de la punctul a si suma de la punctul b
for (int i=0; i<n; i++)
{
cout <<"a["<<i<<"]= ";
cin>>a[i];
if (a[i]%5 == 0) sa = sa + a[i];
if ((a[i] % 2 == 0) && (a[i] % 3 != 0)) sb = sb + a[i];
}

int sc = 0; //suma de la c)
for (i=1; i<n-1; i++)
{
if (a[i] == (a[i-1]+a[i+1])) sc = sc + a[i];
}
cout<<endl<<"Suma elementelor din vector divizibile cu 5 este: "<<sa;
cout<<endl<<"Suma elementelor din vector divizibile cu 2, dar nu si cu 3 este: "<<sb;
cout<<endl<<"Suma elementelor egale cu vecinii lor este: "<<sc;
}

Rezolvare completa, cod curat, ca pentru clasa a 11-a :D

Te inteleg perfect pr00f.. se mai intampla.

Posted
Am rescris codul. El se afl? pe http://sprunge.us/STdT . Am ?i explicat ce era necesar prin comentarii la linia respectiv?.

Ca fapt divers

else if ( (i != 0) && (i != n) )

ar trebui sa fie

else if ( (i != 0) && (i != n-1) )

deoarece nu vei ajunge niciodata la n oricum (un vector cu n elemente are de la elementul 0 la elementul n-1, deci trebuie sa verifici ca i sa nu fie egal cu n-1 <=> n-1 +1 = n, a[n] iti da exceptie, presupunand ca vectorul are n elemente, nu 100 cum e in exemplu)

Posted
Ca fapt divers
else if ( (i != 0) && (i != n) )

ar trebui sa fie

else if ( (i != 0) && (i != n-1) )

deoarece nu vei ajunge niciodata la n oricum (un vector cu n elemente are de la elementul 0 la elementul n-1, deci trebuie sa verifici ca i sa nu fie egal cu n-1 <=> n-1 +1 = n, a[n] iti da exceptie, presupunand ca vectorul are n elemente, nu 100 cum e in exemplu)

?tiu asta. Mai sus aveam scris else if ( i == n-1 ) (ultimul element). Dar eram rupt de oboseal? asear?, ?i l-am ratat pe ?la.

Posted

Am revenit cu inca 3 probleme, in speranta ca ma va mai ajuta lumea :D Si raman la fel indatorat! Ele suna cam asa:

Sa se afle toate elementele dintr-un tablou unidimensional cu proprietatea ca sunt egale cu media aritmetica a celorlalte elemente din tablou.

Sa se construiasca un tablou unidimensional ce contine elementele din sirul lui Fibonacci.

Sa se construiasca un tablou unidimensional dupa urmatoarea regula Sn=1 daca n=0, Sn=n*Sn daca n>=1. // Aici cred ca Sn pleaca de la 1

Posted

Asta deja e magarie! Dupa atata timp tot nu ti-a intrat la cap sa incerci macar sa ai vointa sau sa te lasi complet. Ce e atat de greu in intelegerea acestor cerinte ? Rezolvarea lor ? Nu stii sa declari un vector pe care sa-l parcurgi citindu-l sau scriind in el, bun. Dar cu ce te ajuta o astfel de problema rezolvata daca nu-ti apartine, daca ramai la fel de lemn ?

in speranta ca ma va mai ajuta lumea

Eu te-as ajuta cu cea mai mare placere, dar spune-mi si mie unde te impotmolesti, unde te chinui tu atat de mult si tot nu-ti iese, dai de un greu pe care nu-l poti duce mai departe si ai nevoie de ajutor ?

Ai vreun scop in viata sau chiar nu cunosti semnificatia cuvantului "indatorat" ?

Posted

e si vina voastra ca le faceti temele si ii incurajati sa vina iar cu alte probleme. cand cineva vine si posteaza doar un enunt de problema si imediat se gaseste cineva sa posteze rezolvarea ce crezi ca va urma?

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...