Wypełnienie macierzy

0
	a1 ...... ak
-----------------------------
b1 |
.   |
.   |
.   |
.   |
.   |
.   |
.   |
bk |
    |
    |
    |

Jak wypełnić w ten sposób macierz? wartości w wierszu zaczynają się od a1, kończą na ak, i zmieniają co a_delta, a w kolumnie zaczynają się od b1 a kończą na bk, zmieniają się co b_delata. Tablica jest kwadratowa o rozmiarze N. Napisałem coś-niecoś, ale nie działa:(

#include <iostream>
using namespace std;

double** tablica(int N){
    double **tablica = new double*[N];
    for(int i=0; i<N; i++)
        tablica[i] = new double[N];

    for(int i=0; i<N; i++)
        for(int j=0; j<N; j++)
            tablica[i][j] = 0;
    return tablica;
}

void usunTablice(double **tablica, int N){
    for(int i=0;i<N;i++)
        delete[] tablica[i];
    delete[] tablica;
    tablica = NULL;
}

void pokazTablice(double **tablica, int N){
    for(int i=0; i<N; i++){
        for(int j=0; j<N; j++)
            cout << tablica[i][j] << " ";
        cout << "\n";
    }
}

void wypelnij(double **tablica, int N, double a1, double ak, double b1, double bk, double a_delta, double b_delta){

}

int main(){

    int N = 6;
    double a1 = 6;
    double ak = 20;
    double b1 = 1;
    double bk = 20;
    double a_delta = 0.5, b_delta = 1;
    double **tab = tablica(N);
    pokazTablice(tab, N);
    usunTablice(tab, N);
    return 0;
}
0

Tzn,. może nie to, że nie działa; ale nie wiem, jak to zrobić:(

0

Ano tego nie da się zrobić ponieważ A1 i B1 to powinna być jedna liczba a u ciebie różne.

0

A gdyby a1 == b1 ?

0

Też się nie da. Ponieważ masz kolejne kolizje:
A1+Na_delta=Ak
B1+B
b_delta=Bk

0
6 6.5 7 7.5 8 8.5 9 9.5 10 10.5 11 ... 20
7 7.5
8
9
10
11
...
20

Tzn. wydaje mi się, że to tak ma być, a jak już np w 2-gim wierszu b dojdzie do 20, to resztę wiersza wypełniam zerami ... da się?

0

A jak w ostatnim nie dojdzie do 20 to wymiatamy poza tablicę ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1