Tablica dwuwymiarowa, wypisywanie danych

0

C/Visual Studio
Może mi ktoś wytłumaczyć jak zrobić, aby program automatycznie wypisał tablicę dwuwymiarową dla "n" z zakresu [2:10] podanego przez użytkownika. Należy wykorzystać pętle for.

dla n=2

1 0
2 2
0 1
2 2

dla n=3

1 0 0
2 2 0
3 3 3
0 0 1
0 2 2
3 3 3

itd.

dodanie znaczników <code> - Furious Programming

0

Musisz do tego podejść "matematycznie" i tak też to tworzyć a nie jakimiś IFami. wgl jeżeli chodzi tylko o wypisanie to nie musisz w programie tworzyć żadnej tablicy. pierwsze n wierszy: jezeli nrow to numer wiersza to w nrow wierszu wypisujesz nrow+1 razy liczbę: nrow+1 (zaczynamy indeksowac od zera). później same zera.

	for(nrow=0;nrow<n;++nrow) {
		for(ncol=0;ncol<=nrow;++ncol)
			printf("%d ",nrow+1);
		for(;ncol<n;++ncol) printf("0 ");
		printf("\n");
	}

taki spoiler. na pierwsze n wierszow, później na odwrót lecisz. tyle mogę Ci podpowiedzieć - jak nie rozumiesz to może poczytaj sobie o tablicach?

0
#include <iostream>
using namespace std;

int main()
  {
   for(unsigned n;cin>>n;cout<<endl) for(unsigned u=0;u<2;++u) for(unsigned y=1;y<=n;++y,cout<<endl) for(unsigned x=0;x<n;++x) cout<<((u?x+y<n:y<=x)?0:y)<<' ';
   return 0;
  }
0

Dzięki za wskazówki, ale muszę użyć również tablic dwuwymiarowych.

0

Nie mogę tego ogarnąć. Mógłby ktoś mi napisać kod w C? Wtedy sobię to przeanalizuję i może jakoś zrozumiem.
Wypisywanie za pomocą tabeli dwuwymiarowej i pętli for.

1

Bo musisz zacząć się uczyć C a nie ogarniać cudze kody, do tego jeszcze będzie czas.

#include <stdio.h>

int main()
  {
   unsigned n,u,y,x;
   for(;scanf("%u",&n)==1;printf("\n")) for(u=0;u<2;++u) for(y=1;y<=n;++y,printf("\n")) for(x=0;x<n;++x) printf("%u ",(u?x+y<n:y<=x)?0:y);
   return 0;
  }

http://ideone.com/fjfCoH

0

Dziękuję, a jak tu teraz wstawić tablicę?

0
btanreb napisał(a):

Dziękuję, a jak tu teraz wstawić tablicę?

int tab[20][10];

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