Wypełnianie tablicy dwuwymiarowej watościami 0 1

0

Witam. Mam pewien problem z wypełnieniem tablicy dwuwymiarowej wartościami 0 1. Tablica 10x10. Ma to wyglądać tak:

0 1 0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0 1 0

Prosiłbym o jakieś rady, naprowadzenie mnie na to Smile.
na razie napisałem to:

int tablica[10][10]; 

for (int i=0;i<10;i++)
{
      for(int j=0;j<10;j++)
             tablica[i][j]=; //no właśnie, co tutaj?


}

for (int i=0;i<10;i++)
{
      for(int j=0;j<10;j++)
             printf("%4d",tablica[i][j]);
     printf("\n"); 
}
0

<cpp#include <stdio.h>

int main()
{
// dzięki stałej tylko w jednym miejscu piszemy rozmiar tablicy:
const int TAB_SIZE=10;
int tablica[TAB_SIZE][TAB_SIZE];

for (int j=0;j<TAB_SIZE;j+=2)
for(int i=0;i<TAB_SIZE;i++)
{
tablica[i][j]=i&1;
tablica[i][j+1]=(~i)&1;
}
for (int j=0;j<TAB_SIZE;j++)
{
for(int i=0;i<TAB_SIZE;i++)
printf("%d ",tablica[i][j]);
printf("\n");
}
}
</cpp>

PS. dziwne, przestało działać kolorowanie składni. kolejny wybryk nowego, wspaniałego systemu strony…

0
int k = 0;
for (int i=0;i<10;i++)
{
      for(int j=0;j<10;j++)
             tablica[i][j]= (k++)%2;


} 
0

PS. dziwne, przestało działać kolorowanie składni. kolejny wybryk nowego, wspaniałego systemu strony…

Jeśli w kodzie jest znak < lub > wtedy nie działają znaczniki. Już to zauważyłem kilka dni temu.

0
jarzynek napisał(a)
int k = 0;
for (int i=0;i<10;i++)
{
      for(int j=0;j<10;j++)
             tablica[i][j]= (k++)%2;


} 

Chyba raczej

int k = 0;
for (int i=0;i<10;i++)
{
for(int j=0;j<10;j++,k++)
tablica[i][j]= (k++)%2;

}

0
cc napisał(a)
jarzynek napisał(a)
int k = 0;
for (int i=0;i<10;i++)
{
      for(int j=0;j<10;j++)
             tablica[i][j]= (k++)%2;


} 

Chyba raczej

int k = 0;
for (int i=0;i<10;i++)
{
for(int j=0;j<10;j++,k++)
tablica[i][j]= (k++)%2;

}

</quote>

Nie, ponieważ:

  1. k w każdej pętli jest zwiększane o 2 i wszystkie pola tabeli będą wypełnione 1
  2. jeżeli zwiększysz k przed pierwszym przypisaniem, tablica[0][0]==1

Przyjrzałem się tablicy wynikowej i mój powyższy przykład jest błędny, tak byłoby lepiej


for (int i=0;i<10;i++)
{
      for(int j=0;j<10;j++)
             tablica[i][j]= (i+j)%2;


} 

Pytanie, jak miałaby wyglądać tablica o nieparzystych wymiarach, np tablica[3][3]?

0
jarzynek napisał(a)
cc napisał(a)
jarzynek napisał(a)
int k = 0;
for (int i=0;i<10;i++)
{
      for(int j=0;j<10;j++)
             tablica[i][j]= (k++)%2;


} 

Chyba raczej

int k = 0;
for (int i=0;i<10;i++)
{
for(int j=0;j<10;j++,k++)
tablica[i][j]= (k++)%2;

}

Nie, ponieważ:

  1. k w każdej pętli jest zwiększane o 2 i wszystkie pola tabeli będą wypełnione 1
  2. jeżeli zwiększysz k przed pierwszym przypisaniem, tablica[0][0]==1

Przyjrzałem się tablicy wynikowej i mój powyższy przykład jest błędny, tak byłoby lepiej


for (int i=0;i<10;i++)
{
      for(int j=0;j<10;j++)
             tablica[i][j]= (i+j)%2;


} 

Pytanie, jak miałaby wyglądać tablica o nieparzystych wymiarach, np tablica[3][3]?</quote>
Masz rację
miało być
int k = 1;
for (int i=0;i<10;i++,k++)
{
for(int j=0;j<10;j++)
tablica[i][j]= (k++)%2;

}

rozpędziłem się

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