Frage zu C und Array

OP #6319088
Lesenswert?

Hallo ich habe da eine Frage kann man das folgende Zwei Dimensionale 
Array einfacher initialisieren
1
uint32_t Patter1[9] = { 0,1,2,3,4,5,6,7,8 };
2

3
uint32_t Patter2[9] = { 9,10,11,12,13,14,15,16,17 };
4
uint32_t Patter3[9] = { 18,19,20,21,22,23,24,25,26 };
5
uint32_t Muster[3][9];
6

7
int main()
8
{
9
    for (int i = 0; i < 9 * 1; i++)
10
        Muster[0][i] = Patter1[i];
11

12
    for (int i = 0; i < 9; i++)
13
        Muster[1][i]  = Patter2[i];
14

15
    for (int i = 0; i < 9; i++)
16
        Muster[2][i]  = Patter3[i];
17

18
    for (int i = 0; i < 3; i++) {
19
    
20
        for (int j = 0; j < 9; j++)
21
            std::cout << Muster[i][j];
22
        std::cout << "|\n";
23
    }
Gast #6319095
Lesenswert?

1
$ cat a.c
2
#include <stdio.h>
3
#include <stdint.h>
4

5
uint32_t foo[][3] = {
6
  { 0, 1, 2 },
7
  { 3, 4, 5 },
8
  { 6, 7, 8 }
9
};
10

11
int main(void) {
12
  printf("%d%d\n", foo[1][1], foo[0][2]);
13
}
14
$ ./a
15
42
16
$
Gast #6319100
Lesenswert?

1
int MusterX[3][9] = {
2
    { 0,1,2,3,4,5,6,7,8 },
3
    { 9,10,11,12,13,14,15,16,17 },
4
    { 18,19,20,21,22,23,24,25,26 }
5
};
6

7
int MusterY[3][9] = {
8
     0,1,2,3,4,5,6,7,8 ,
9
     9,10,11,12,13,14,15,16,17 ,
10
     18,19,20,21,22,23,24,25,26 
11
};
Beitrag #6319101 wurde von einem Moderator gelöscht.
(Firma: Privat) #6319426
Lesenswert?

Ich kann zwar kein C oder C++, aber von der
allgemeinen Programmierlogik her braucht es doch nur
1 Schleife und 1 Array :
1
uint32_t Muster[3][9];
2
int main()
3
{
4
for (int i = 0; i < 9; i++)
5
        Muster[0][i] = i;
6
        Muster[1][i] = i + 9;
7
        Muster[2][i] = i + 18;

Wobei ich davon ausgehe, daß bei C als erstes die Dimension
und als zweites das Element kommt. Andernfalls kann man es ja
auch umdrehen.

Oder muß bei C das Array vorher initialisiert sein ?
OP #6320065
Lesenswert?

mh schrieb:
>
1
> int MusterX[3][9] = {
2
>     { 0,1,2,3,4,5,6,7,8 },
3
>     { 9,10,11,12,13,14,15,16,17 },
4
>     { 18,19,20,21,22,23,24,25,26 }
5
> };
6
> 
7
> int MusterY[3][9] = {
8
>      0,1,2,3,4,5,6,7,8 ,
9
>      9,10,11,12,13,14,15,16,17 ,
10
>      18,19,20,21,22,23,24,25,26
11
> };
12
>

Danke mit MusterX so habe ich es gemacht. Vielen Dank schöne Woche .)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren