Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
arii

Smart phone pentru auz deficitar

Manager transport marfa. Pareri. ...

BIOS F.24 pentru HP Pavilion g7-2...
 Meta Quest 3 512 gb

Father's Day

Clipboard files copy/paste, filen...

Boardgame-uri despre cuvinte
 Care-i treaba cu Reddit-ul? (nu m...

Diferente diferentiale

Finala Eurovision 2024

De ce nu protestati?
 Etanșare intre cada perete b...

Back-up box Fronius ?

Router de la Digi nu face fata la...

Magnolii
 

Inserare linie în matrice

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

#1
Al3x31

Al3x31

    New Member

  • Grup: Candidate Members
  • Posts: 4
  • Înscris: 18.08.2021
Ma poate ajuta cineva cu urmatoarea problema C++?

Să se scrie o funcție numită inserareMedie care primește un număr N, un număr M, o matrice mt care poate avea maxim 51 de linii și maxim 51 de coloane și un număr k. Funcția va insera pe poziția k o nouă linie în matrice, având pe fiecare coloană un număr rațional egal cu media aritmetică a elementelor de pe acea coloană. Parametrii N și M vor fi transmiși prin referință.
Semnătură funcție
Funcția trebuie să se numească inserareMedie.
Funcția trebuie să primească doi parametri numere întregi transmiși prin referință, o matrice cu numere raționale și un număr întreg. Parametrii trebuie să fie în această ordine.
La finalul funcției matricea trebuie să conțină o linie în plus conform enunțului
Funcția nu va returna nimic

Restricții și precizări
1 ≤ N, M ≤ 50
0 ≤ k ≤ N
-100 ≤ mt[i][j] ≤ 100
Liniile și coloanele matricei sunt numerotate începând cu 0.

Exemplu
int N = 2, M = 2;
double mt[51][51]={{1,1}, {2,2}};
inserareMedie(N, M, mt, 1);
// mt va fi
//   1   1
// 1.5 1.5
//   2   2
// N va fi 3, M va fi 2

#2
red46

red46

    Senior Member

  • Grup: Senior Members
  • Posts: 4,591
  • Înscris: 06.03.2016
Ce ai incercat?

#3
Al3x31

Al3x31

    New Member

  • Grup: Candidate Members
  • Posts: 4
  • Înscris: 18.08.2021

 red46, on 11 noiembrie 2021 - 17:40, said:

Ce ai incercat?

Salut red46
Am cam reusit sa o rezolv dar nu cred ca e correct.

#include <iostream>
using namespace std;
void inserareMedie(int &n, int m, double mt[51][51],int k){
  int i, j;
  double ma = 0;
  double v[100];
n++;
    j = 0;
    while(j < m){
    for(i = n - 1; i > k; i--)
    mt[i][j] = mt[i - 1][j];
    if(i == k){
    i=0;
    j++;
    }
    }
    for(j = 0; j < m; j++){
    for(i = 0; i < n; i++)
    ma = ma + mt[i][j];
    mt[k][j] = (ma - mt[k+1][j]) / (n - 1);
    ma = 0;
    }
    for(i = 0; i < n; i++){
    for(j = 0; j < m; j++)
    cout << mt[i][j] <<" ";
    cout << "\n";
    }
}
int main(){
  int n, m, k;
  double mt[51][51];
  cin >> n >> m;
  for(int i = 0; i < n; i++)
    for(int j = 0; j < m; j++)
  cin >> mt[i][j];
  cin >> k;
    inserareMedie(n, m, mt, k);
}

Inca ma gandesc cum sa sa inserez linia intre 1 1 si 2 2.

#4
andrei932000

andrei932000

    Junior Member

  • Grup: Members
  • Posts: 50
  • Înscris: 20.11.2007
Salut, ma poti ajuta si pe mine cu aceasta problema?
Ai reusit sa o faci?

Anunturi

Chirurgia spinală minim invazivă Chirurgia spinală minim invazivă

Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical.

Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale.

www.neurohope.ro

1 user(s) are reading this topic

0 members, 1 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