Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Termen transcriere autovehicul

Cazare Timisoara pe 4-5 zile

Primele zile ale internetului per...

Ditra 25
 Casti USB-C ptr A-54

Aplicatie medicala / asistent med...

De ce vor atația politicieni...

ERR_ADDRESS_UNREACHABLE
 Legea 18/1968 Se mai aplica?

Digi conectare 2 routere prin fir

Succesiune notar versus instanta ...

Montaj aer conditionat in balcon ...
 Cont curent mulți valuta far...

Sugestii plan casa

Experiente cu firme care cumpara ...

joc idem Half Life gratis
 

[TEMA]Suma de pe diagonala secundara

- - - - -
  • Please log in to reply
7 replies to this topic

#1
AdrianUrsaciuc

AdrianUrsaciuc

    Junior Member

  • Grup: Members
  • Posts: 161
  • Înscris: 02.04.2014
Se citeste o matrice cu elemente intregi sa se inlocuiasca elementele de pe diagonala principala cu oglinditele lor si elementele de pe diagonala secundara cu suma cifrelor.

#include <iostream>
using namespace std;
int main()
{
int n,m,a[100][100],sum,c,nr;
		cout<<"n=";cin>>n;
		for(int i=0;i<n;i++)
		for(int j=0;j<n;j++)
		{
			cout<<"a["<<i<<"]["<<j<<"]=";
			cin>>a[i][j];
		}
cout<<endl;
for(int i=0;i<n;i++)
		{
		for(int j=0;j<n;j++)
			cout<<a[i][j]<<"   ";
			cout<<endl;
		}
cout<<endl;
// principala
		for(int i=0;i<n;i++)
		for(int j=0;j<n;j++)
		{
		int nr=a[i][i];
		int ogl=0;
		while(nr!=0)
		{
		int c=nr%10;
		nr=nr/10;
		ogl=ogl*10+c;
		}
		a[i][i]=ogl;
		}
		cout<<endl;

  // secundara
		for(int i=0;i<n;i++)
		for(int j=0;j<n;j++)
		{
		nr=a[i][n-1-i];
		sum=0;
		while(nr!=0)
		{
		c=nr%10;
		nr=nr/10;
		 sum=sum + c;
		}
		a[i][n-1-i]=sum;
		}
		cout<<endl;

		for(int i=0;i<n;i++)
		{
		for(int j=0;j<n;j++)
			cout<<a[i][j]<<"   ";
			cout<<endl;
		}

	return 0;
}


nu calculeaza bine suma de pe diagonala secundara.

#2
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,233
  • Înscris: 24.02.2007
Ce sens are iterarea cu j cand e vorba de diagonala?

#3
OmulLLORT

OmulLLORT

    Senior Member

  • Grup: Senior Members
  • Posts: 2,756
  • Înscris: 06.09.2014
nu prea am inteles ce ai scris tu la diagonala secundara
dar toate elementele de pe diag secundara au suma coordonatelor (i+j) egala cu n+1
daca i+j=n+1 adaugi elementul la suma
apoi inlocuiesti

incepe de la 1, ca te poti incurca

1,1 1,2 1,3 1,4
2,1 2,2 2,3 2,4
3,1 3,2 3,3 3,4
4,1 4,2 4,3 4,4

Edited by OmulLLORT, 23 September 2014 - 18:25.


#4
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,233
  • Înscris: 24.02.2007
int main()
{
	const int SIZE = 3;
	int matrice[SIZE][SIZE] = 
	{
		{123, 234, 456},
		{345, 432, 879},
		{345, 867, 567}
	};

	for (int i = 0; i < SIZE; i++)
	{
		Digitizer<int> temp(matrice[i][i]);
		reverse(temp.begin(), temp.end());
		matrice[i][i] = temp;

		temp = matrice[SIZE - 1 - i][i];
		matrice[SIZE - 1 - i][i] = accumulate(temp.begin(), temp.end(), 0);
	}


	for (int x = 0; x < SIZE; x++)
	{
		for (int y = 0; y < SIZE; y++)
		{
			cout << matrice[x][y] << " ";
		}
		cout << endl;
	}
	return 0;
}


Quote

321 234 _15
345 __9 879
_12 867 765


#5
just0rz

just0rz

    Junior Member

  • Grup: Members
  • Posts: 146
  • Înscris: 14.01.2014

View PostOmulLLORT, on 23 septembrie 2014 - 18:23, said:

nu prea am inteles ce ai scris tu la diagonala secundara
dar toate elementele de pe diag secundara au suma coordonatelor (i+j) egala cu n+1
daca i+j=n+1 adaugi elementul la suma
apoi inlocuiesti

incepe de la 1, ca te poti incurca

1,1 1,2 1,3 1,4
2,1 2,2 2,3 2,4
3,1 3,2 3,3 3,4
4,1 4,2 4,3 4,4

Invata-l prost de la inceput ca data viitoare cand se loveste de vreun index sa nu inteleaga de ce ii arunca exceptie.

#6
OmulLLORT

OmulLLORT

    Senior Member

  • Grup: Senior Members
  • Posts: 2,756
  • Înscris: 06.09.2014

Quote

Digitizer<int> temp(matrice[i][i]);
reverse(temp.begin(), temp.end());
l-ai lamurit cu astea!

View Postjust0rz, on 14 octombrie 2014 - 12:39, said:

Invata-l prost de la inceput ca data viitoare cand se loveste de vreun index sa nu inteleaga de ce ii arunca exceptie.
ce  e prost ? pentru liceu e bine

#7
just0rz

just0rz

    Junior Member

  • Grup: Members
  • Posts: 146
  • Înscris: 14.01.2014

View PostOmulLLORT, on 23 septembrie 2014 - 18:23, said:

incepe de la 1, ca te poti incurca

Cum ce este prost? Daca incepe de la 1 sigur se va incurca!

#8
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View PostOmulLLORT, on 14 octombrie 2014 - 17:42, said:

ce  e prost ? pentru liceu e bine
E irelevant pentru ce este. Aici suntem pe aria "Professional Zone", sa nu mai dai sfaturi care stimuleaza in mod cras incompetenta. Warn.

Anunturi

Chirurgia cranio-cerebrală minim invazivă Chirurgia cranio-cerebrală minim invazivă

Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne.

Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate