Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Adaptor usb3.1gigabit vs Adaptor ...

La multi ani @Atreides!

La multi ani @KENSINGTON!

La multi ani @burebista!
 La multi ani de Florii!

Stihl fs 70 c-e

Challengers (2024)

Care mai sunt mediile de admitere...
 Laptop cu HDD atasare memorie MMC...

Hartile google nu mai au chenarul...

Tomate in ghiveci la curte?

Idei cale de actiune recuperare g...
 Intoleranța lactoza- vegan v...

Tobe acustice insonorizare in blo...

Cine canta? Fragment din melodie...

Tablou sigurante Dacia Sandero 2012
 

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,557
  • Î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

Bun venit pe Forumul Softpedia!

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