Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Se poate recupera numar de telefo...

Upgrade de la MacBook Pro M1 cu 8...

Ce tip de monitor am nevoie pt of...

Resoftare camera supraveghere
 Cu ce va aparati de cainii agresi...

Nu imi platiti coletul cu cardul ...

Exista vreun plan de terorizare p...

Schimbare adresa DNS IPv4 pe rout...
 Recomandare Barebone

Monede JO 2024

Suprasolicitare sistem electric

CIV auto import
 Mutare in MOZAMBIC - pareri, expe...

Scoatere antifurt airtag de pe ha...

Magnet in loc de clește pent...

Cumparat/Locuit in apartament si ...
 

[TEMA] Să se afișeze dacă matricea are 2 linii identice și care sunt ele.

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

#1
MateiGafita

MateiGafita

    Junior Member

  • Grup: Junior Members
  • Posts: 83
  • Înscris: 08.05.2019
Da. a[i][j] trebuie să fie egal cu a[n-j-1][n-i-1]

Am o alta problemă.
Să se afișeze dacă matricea are 2 linii identice și care sunt ele. Îmi puteți da, vă rog, niște idei de rezolvare?

#2
OriginalCopy

OriginalCopy

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

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

View PostMateiGafita, on 13 mai 2019 - 14:50, said:

Da. a[i][j] trebuie să fie egal cu a[n-j-1][n-i-1]

Am o alta problemă.
Să se afișeze dacă matricea are 2 linii identice și care sunt ele. Îmi puteți da, vă rog, niște idei de rezolvare?
1. Idee: pleci de la premiza ca toate liniile sunt identice

Tradus in cod: faci un vector numit identical_rows_indices care contine liniile identice, si pui in el numerele de la 0 la n-1, adica toate liniie sunt identice.

2. Iterezi matricea pe verticala (nu pe orizontala ca de obicei), si pentru fiecare numar diferit de numarul din prima linie, elimini valoarea corespunzatoare din identical_rows_indices.

3. Daca la sfarsit mai ai elemente in identical_rows_indices, atunci acele randuri sunt identice.

#3
MateiGafita

MateiGafita

    Junior Member

  • Grup: Junior Members
  • Posts: 83
  • Înscris: 08.05.2019
Îmi mai poți explica încă o dată pasul 2? Mulțumesc!

#4
OriginalCopy

OriginalCopy

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

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

View PostMateiGafita, on 13 mai 2019 - 16:15, said:

Îmi mai poți explica încă o dată pasul 2? Mulțumesc!
Nu. E intentionat ambiguu, ca sa te las pe tine sa fii creativ cu problema, cu codul.

Doar asa avansezi.

Scrie codul cat de bine si cat de complet poti, si vino cu el, apoi discutam pe cod.

#5
MateiGafita

MateiGafita

    Junior Member

  • Grup: Junior Members
  • Posts: 83
  • Înscris: 08.05.2019
Dar "a itera" pe verticală ce înseamnă?

#6
Iulius-Foyas

Iulius-Foyas

    Active Member

  • Grup: Members
  • Posts: 1,361
  • Înscris: 21.04.2019
pai tu daca ai avea o matrice in fata, ce ai avea dispuse  pe verticala si ce ai avea dispuse  pe orizontala ?

#7
MateiGafita

MateiGafita

    Junior Member

  • Grup: Junior Members
  • Posts: 83
  • Înscris: 08.05.2019
Pe verticală-coloane
Pe orizontală-linii

#8
Iulius-Foyas

Iulius-Foyas

    Active Member

  • Grup: Members
  • Posts: 1,361
  • Înscris: 21.04.2019
Aha, bingo deci trebuie sa parcurgi matricea dupa coloane.
Daca indicele i este indiciele de linie si indicele j este cel de coloana, parcurgand elementele unei singure coloane(adica parcurgere pe verticala), ce observi la cei doi indici ? Cum evolueaza ei atunci cand parcurgi o singura coloana ?

Edited by Iulius-Foyas, 13 May 2019 - 17:28.


#9
MateiGafita

MateiGafita

    Junior Member

  • Grup: Junior Members
  • Posts: 83
  • Înscris: 08.05.2019
Indicele "i" crește iar "j" este constant.

#10
Iulius-Foyas

Iulius-Foyas

    Active Member

  • Grup: Members
  • Posts: 1,361
  • Înscris: 21.04.2019
Exact, deci daca ai avea 5 elemente sa zicem , parcurgandu-le in ordine verticala, atunci j= acelasi, iar i = de la 0 la 4 (pentru ca pornind de la zero si pana la 4 avem 5 elemente)
Chestia poti sa spui in limbaj pseudocod:
de la 0 la 4 executa operatii cu elementele a[i][j] cu j=acelasi , si i creste cu o unitate pe fiecare iteratie.
Cum ai redacta afirmatia de mai sus intr-o bucla for ?

Edited by Iulius-Foyas, 13 May 2019 - 17:37.


#11
MateiGafita

MateiGafita

    Junior Member

  • Grup: Junior Members
  • Posts: 83
  • Înscris: 08.05.2019
for(i=0;i<n;i++)


#12
Iulius-Foyas

Iulius-Foyas

    Active Member

  • Grup: Members
  • Posts: 1,361
  • Înscris: 21.04.2019
asta este doar declaratia buclei, ce se intampla cu interiorul ei:
for(i=0;i<n;i++) {
//ce se intampla aici daca vreau actiuni cu elementele a[j], j=acelasi si i de la zero la n-1 ?
}

fie j = 0;
for(i=0;i<4;i++) {
actiune cu elementul a[i][j];
}
voi avea actiuni pe elementele a[0][0], a[1][0], a[2][0], a[3][0], a[4][0]


Dar daca vrei sa ai actiuni pe elementele coloanelor 0 si 1 , cum treci la coloana zero la coloana 1, pt a avea acces la elementele  a[0][1], a[1][1], a[2][1], a[3][1], a[4][1]?

.

Edited by Iulius-Foyas, 13 May 2019 - 17:51.


#13
OriginalCopy

OriginalCopy

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

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

00 01 02
03 04 05
06 07 08

Iterarea pe verticala a sa este: 00 03 06 01 04 07 02 05 08

Scrie un program care afiseaza asta.

Din nou, aceeasi abordare babeasca pe care ti-am explicat-o in celalalt topic: scrii un input concret, faci pe hartie calculul, apoi extragi "formula matematica" si apoi generalizezi astfel incat sa functioneze (generic) cu variabile (dinamice) precum n, m, i ,j, s.a.m.d.

Edited by OriginalCopy, 13 May 2019 - 21:35.


#14
MateiGafita

MateiGafita

    Junior Member

  • Grup: Junior Members
  • Posts: 83
  • Înscris: 08.05.2019
for (j = 0; j<n; j++)
{
for (i= 0; i < n; i++)
cout << a[i][j] << " ";
}

#15
OriginalCopy

OriginalCopy

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

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

View PostMateiGafita, on 13 mai 2019 - 21:52, said:

for (j = 0; j<n; j++)
    {
    for (i= 0; i < n; i++)
    cout << a[i][j] << " ";
    }
ok, acum:

View PostOriginalCopy, on 13 mai 2019 - 15:16, said:

1. Idee: pleci de la premiza ca toate liniile sunt identice

Tradus in cod: faci un vector numit identical_rows_indices care contine liniile identice, si pui in el numerele de la 0 la n-1, adica toate liniie sunt identice.

2. Iterezi matricea pe verticala (nu pe orizontala ca de obicei), si pentru fiecare numar diferit de numarul din prima linie, elimini valoarea corespunzatoare din identical_rows_indices.

3. Daca la sfarsit mai ai elemente in identical_rows_indices, atunci acele randuri sunt identice.


Anunturi

Chirurgia endoscopică a hipofizei Chirurgia endoscopică a hipofizei

"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală.

Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale.

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