• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Tablica dynamiczna

Object Storage Arubacloud
0 głosów
407 wizyt
pytanie zadane 19 listopada 2017 w C i C++ przez krystian1997 Obywatel (1,020 p.)
Zbudowałem flage Polski z zer i jedynek tak, że zera są u góry a jedynki na dole w C++. Chodzi o tablice czy tam macierze. Chciałbym zrobić to samo, lecz tak, żeby wymiar tej flagi ustalał użytkownik. Wiem że trzeba użyć tablicy dynamicznej ale potrzebuje wskazówek na jakiej zasadzie ma sie to opierac.
komentarz 19 listopada 2017 przez krystian1997 Obywatel (1,020 p.)
	
Jak narazie zrobiłem tyle:



#include <iostream>	
	using namespace std;

	int main() {
		int wymiar = 5;
		int ** tablica = new int * [wymiar];
		for(n=0; n<10; n++){ 
			for(m=0; m<10; m++){
				if(n<5){
					cout<< 0 <<"  ";					
				} else if(n>=4) {
					cout<< 1 <<"  ";
				}
			}
			cout <<"\n";
		}	
		
		return 0;
	}

 

1
komentarz 19 listopada 2017 przez jankustosz1 Nałogowiec (35,880 p.)
jeżeli masz wypisać flagę o określonych rozmiarach to nawet nie potrzebujesz tablicy, może po prostu wypisywać.
komentarz 19 listopada 2017 przez ozymanias Nowicjusz (140 p.)

można dla przykładu tak (bez teblic):

 

#include <iostream>
using namespace std;

int main(){
  int szerokosc, wysokosc;
  cout<<"podaj szerokosc flagi ";
  cin>>szerokosc;
  cout<<"podaj wysokosc koloru flagi ";
  cin>>wysokosc;
  for (int i=0; i<wysokosc; i++) {
    for (int n=0; n<szerokosc; n++){
      cout<<"0";
    }
  }
  cout<<endl;
  for (int i=0; i<wysokosc; i++) {
    for (int n=0; n<szerokosc; n++){
      cout<<"1";
    }
  }
  return 0;
}

 

komentarz 19 listopada 2017 przez krystian1997 Obywatel (1,020 p.)
Ale to użytkownic ma podać wymary
komentarz 19 listopada 2017 przez ozymanias Nowicjusz (140 p.)
I podaje. w linijce 7 i 9. chyba że coś źle zrozumiałem ;)
komentarz 19 listopada 2017 przez krystian1997 Obywatel (1,020 p.)
Chcę właśnie wiedzieć jak można i jak mam to zrobić. Tablice, wskaźniki, bez tablic
komentarz 19 listopada 2017 przez krystian1997 Obywatel (1,020 p.)
Rozumiem że to jest najwygodniejszy sposób zrobienia tego? Ja zrobiłem to na podwójnej pętli for i w sumie chciałbym się tego trzymać. Program na początku wyświetlał flagę o określonych wymiarach, ja chce tylko tak go zmienic, żeby użytkownik podawał wymiary
komentarz 19 listopada 2017 przez krystian1997 Obywatel (1,020 p.)
Tak btw program działa niepoprawnie
komentarz 19 listopada 2017 przez ozymanias Nowicjusz (140 p.)
Działa niepoprawnie tzn?

Wysłany przezemnie kod jest również użyciem pentli for tyle że ty na sztywno ustawiłeś parametry. Ja używając cin>> pozwoliłem na wpisanie tych parametrów z konsoli.
komentarz 19 listopada 2017 przez krystian1997 Obywatel (1,020 p.)
podaj szerokosc flagi 7
podaj wysokosc koloru flagi 5
00000000000000000000000000000000000
11111111111111111111111111111111111
--------------------------------
Process exited after 3.027 seconds with return value 0
Press any key to continue . . .

Tak wygląda ta flaga w konsoli
komentarz 19 listopada 2017 przez ozymanias Nowicjusz (140 p.)

Mój błąd, zapomniałem endl;

 

#include <iostream>
using namespace std;

int main(){
  int szerokosc, wysokosc;
  cout<<"podaj szerokosc flagi ";
  cin>>szerokosc;
  cout<<"podaj wysokosc koloru flagi ";
  cin>>wysokosc;
  for (int i=0; i<wysokosc; i++) {
    for (int n=0; n<szerokosc; n++){
      cout<<"0 ";
    }
    cout<<endl;
  }
  for (int i=0; i<wysokosc; i++) {
    for (int n=0; n<szerokosc; n++){
      cout<<"1 ";
    }
    cout<<endl;
  }
  return 0;
}

 

komentarz 19 listopada 2017 przez krystian1997 Obywatel (1,020 p.)
Ok program działa poprawnie ale należy pamiętać ale liczba wierszy to całość flagi a nie tylko zera lub jedynki, należy je więc podzielić przez 2 żeby liczba wierszy podana przez użytkownika zgadzała się z tym co wyświetla się na ekranie. Cały temat dużo mi nie pomógł gdyż na wszystko wpadłem sam, myślałem że dowiem się więcej. Dziękuję za szybkie odpowiedzi.

1 odpowiedź

–1 głos
odpowiedź 19 listopada 2017 przez jankustosz1 Nałogowiec (35,880 p.)
w y/2 liniach wypisujesz x jedynek,  a potem w y/2 liniach wypisujesz x zer
komentarz 19 listopada 2017 przez krystian1997 Obywatel (1,020 p.)
Chce żeby użytkownik podawał wymiary flagi.
komentarz 19 listopada 2017 przez jankustosz1 Nałogowiec (35,880 p.)
no to x i y to jakaś zmienna którą wprowadzi użytkownik
komentarz 19 listopada 2017 przez krystian1997 Obywatel (1,020 p.)
Tak rozumiem, z pobraniem rozmiarów nie mam problemów, to każdy potrafi napisać, chodzi o zastosowanie, czy powinienem zastosować zwykłą tablice, dynamiczną, nie robić jej wcale czy jeszcze jakoś inaczej. Do tego czy i co ma sie zmienic w for
komentarz 19 listopada 2017 przez jankustosz1 Nałogowiec (35,880 p.)

Przeczytaj dokładnie nie potrzebujesz robić wogóle tablicy, a jeżeli już z jakiś powodu chcesz ją robić to możesz zrobić i dynamiczną i stałą(podając duży rozmiar), możesz też zrobić vector vectorów, ale jeszcze raz powtórzę że NIE MUSISZ ROBIĆ ŻADNEJ TABLICY.

komentarz 21 listopada 2017 przez krystian1997 Obywatel (1,020 p.)
Ok to co mam zastosowac?? i jak?
komentarz 24 listopada 2017 przez jankustosz1 Nałogowiec (35,880 p.)
Przecież ozymanias ci kod napisał. Czy użył gdzieś tablicy?

Podobne pytania

0 głosów
1 odpowiedź 188 wizyt
0 głosów
1 odpowiedź 238 wizyt
pytanie zadane 21 sierpnia 2019 w C i C++ przez amtrax Dyskutant (9,630 p.)
0 głosów
1 odpowiedź 764 wizyt
pytanie zadane 10 listopada 2017 w C i C++ przez Jakub 0 Pasjonat (23,120 p.)

92,555 zapytań

141,402 odpowiedzi

319,544 komentarzy

61,939 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...