CodeBlock-C++

K1
  • Rejestracja:prawie 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:15
0

Witam, chciałbym prosić o pomoc, moja Pani z zawodowych zadała nam zadanie w CodeBlock a ja nie wiem jak je rozwiązać :/
Jeśli ktoś zdecyduje się na podanie odpowiedzi to jeśli to możliwe proszę o wytłumaczenie jak i dlaczego to działa, pozdrawiam.

Wykorzystując CodeBlocks
Napisz funkcję podnoszącą podaną wartość do kwadratu.
Funkcja pobiera na początku od użytkownika ilość liczb .
Następnie pobiera te liczby wpisuje je do tablicy.
Po zakończeniu podawania na ekranie pojawiają się rozdzielone przecinkiem wartości z tablicy podniesione do kwadratu.

AK
Co już masz, i z czym masz problem?
SI
  • Rejestracja:prawie 14 lat
  • Ostatnio:około 3 godziny
1

Code: blocks to ide bez własnych bibliotek, więc możesz pisać w czym ci wygodnie.

K1
  • Rejestracja:prawie 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:15
0
sig napisał(a):

Code: blocks to ide bez własnych bibliotek, więc możesz pisać w czym ci wygodnie.
Moja nauczycielka wymaga C++

Spine
  • Rejestracja:prawie 22 lata
  • Ostatnio:12 minut
  • Postów:6616
3

A co studiujesz?

Wiesz, że takie programy piszą dzieci w niektórych podstawówkach? Nie wstyd Ci?


🕹️⌨️🖥️🖱️🎮
edytowany 1x, ostatnio: Spine
K1
  • Rejestracja:prawie 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:15
0
Spine napisał(a):

A co studiujesz?

Wiesz, że takie programy piszą dzieci w niektórych podstawówkach? Nie wstyd Ci?

Nie studiuję, jestem w 1 klasie technikum.
I jeśli już pytasz to tak, jest mi wstyd i dlatego tutaj piszę, to moja ostatnia deska ratunku.

edytowany 1x, ostatnio: Killertank1010
Szalony Programista
Szalony Programista
  • Rejestracja:około 7 lat
  • Ostatnio:prawie 4 lata
  • Postów:227
2

Jak chcesz się czegoś nauczyć to musisz zadawać właściwe pytania.

  1. Naucz się pobierać dane od uzytkownika np. tekst i liczby.
    Biblioteka input output stream w skrócie <iostream>
  2. Przechowywać te dane w programie w jakiejś zmiennej, tablicy.
  3. Operować na tych danych, dodać, odjąć, przypisać.
  4. I wyświetlać dane użytkownikowi.
    Potem wypadało by jakieś trudniejsze operacje matematyczne wykonać.
    Warunkowe działania, IFy.
    Wykonywanie wielu tych samych działań, pętle.

Wypisywanie wartości na ekran to łatwy sposób kontrolowania tego co program zrobił.
Jak debugowanie czyli takie śledzenie wykonywania kodu.

K1
  • Rejestracja:prawie 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:15
0
Szalony Programista napisał(a):

Jak chcesz się czegoś nauczyć to musisz zadawać właściwe pytania.

  1. Naucz się pobierać dane od uzytkownika np. tekst i liczby.
    Biblioteka input output stream w skrócie <iostream>
  2. Przechowywać te dane w programie w jakiejś zmiennej, tablicy.
  3. Operować na tych danych, dodać, odjąć, przypisać.
  4. I wyświetlać dane użytkownikowi.
    Potem wypadało by jakieś trudniejsze operacje matematyczne wykonać.
    Warunkowe działania, IFy.
    Wykonywanie wielu tych samych działań, pętle.

Wypisywanie wartości na ekran to łatwy sposób kontrolowania tego co program zrobił.
Jak debugowanie czyli takie śledzenie wykonywania kodu.

Umiem pobierać dane, umiem też wpisywać je do tablicy i robić pętle ale nie wiem jak to wszystko "skleić" w całość aby działało jak należy.

Szalony Programista
Szalony Programista
a^2 to jest równe a*a, zapis może inny.
Spine
  • Rejestracja:prawie 22 lata
  • Ostatnio:12 minut
  • Postów:6616
3

moja Pani z zawodowych

Brzmi jak "ze studiów zawodowych"...

Program wykonuje wszystkie operacje po kolei jak mu napiszesz, zaczynając od punktu wejściowego (funkcja main());

Masz gotowca, naucz się z niego...

Kopiuj
#include <iostream>
using namespace std;

void funkcja()
{
	// #1 prosimy uzytkownika, by podal ile liczb bedzie wprowadzac
	int ileLiczb;
	
	cout << "Ile liczb: ";
	cin >> ileLiczb;
	
	// #2 pobieramy liczby do tablicy
	int tab[ileLiczb];
	for (int i = 0; i < ileLiczb; i++)
	{
		cout << "Podaj liczbe nr " << i << ": ";
		cin >> tab[i];
	}
	
	// #3 wypisujemy liczby podniesione do kwadratu
	for (int i = 0; i < ileLiczb; i++)
	{
		cout << tab[i] * tab[i];
		
		// dajemy przecinek po kazdej liczbie oprocz ostatniej
		if (i < ileLiczb - 1) cout << ", ";
		else cout << "." << endl;
	}
}

int main() {
	funkcja(); // wywolujemy funkcje, ktora mielismy napisac...
	
	return 0;
}

🕹️⌨️🖥️🖱️🎮
edytowany 4x, ostatnio: Spine
K1
  • Rejestracja:prawie 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:15
0
Spine napisał(a):

moja Pani z zawodowych

Brzmi jak "ze studiów zawodowych"...

Program wykonuje wszystkie operacje po kolei jak mu napiszesz, zaczynając od punktu wejściowego (funkcja main());

Masz gotowca, naucz się z niego...

Kopiuj
#include <iostream>
using namespace std;

void funkcja()
{
	// #1 prosimy uzytkownika, by podal ile liczb bedzie wprowadzac
	int ileLiczb;
	
	cout << "Ile liczb: ";
	cin >> ileLiczb;
	
	// #2 pobieramy liczby do tablicy
	int tab[ileLiczb];
	for (int i = 0; i < ileLiczb; i++)
	{
		cout << "Podaj liczbe nr " << i << ": ";
		cin >> tab[i];
	}
	
	// #3 wypisujemy liczby podniesione do kwadratu
	for (int i = 0; i < ileLiczb; i++)
	{
		cout << tab[i] * tab[i];
		
		// dajemy przecinek po kazdej liczbie oprocz ostatniej
		if (i < ileLiczb - 1) cout << ", ";
		else cout << "." << endl;
	}
}

int main() {
	funkcja(); // wywolujemy funkcje, ktora mielismy napisac...
	
	return 0;
}

Bardzo dziękuje.

BG
W C++ nie ma VLA - konstrukcja z wiersza 13 (albo 14) nie zawsze będzie działać.
Spine
W większości przypadków będzie działać. Egzotyczne platformy i kompilatory raczej używa mniejszość ;)
tajny_agent
MSVC raczej nie należy do egzotycznych ;)
Spine
  • Rejestracja:prawie 22 lata
  • Ostatnio:12 minut
  • Postów:6616
1

Odinstaluj to co masz i ściągnij wersję z mingw. Nie musisz ustawiać żadnych kompilatorów.
http://www.codeblocks.org/downloads/26

screenshot-20200317194003.png

Nawet masz info na dole napisane, że najlepiej brać tą wersję...


🕹️⌨️🖥️🖱️🎮
edytowany 1x, ostatnio: Spine
K1
  • Rejestracja:prawie 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:15
0
Spine napisał(a):

Odinstaluj to co masz i ściągnij wersję z mingw. Nie musisz ustawiać żadnych kompilatorów.
http://www.codeblocks.org/downloads/26

screenshot-20200317194003.png

Nawet masz info na dole napisane, że najlepiej brać tą wersję...

Jeszcze raz, bardzo dziękuję.

K1
  • Rejestracja:prawie 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:15
0
Killertank1010 napisał(a):
Spine napisał(a):

Odinstaluj to co masz i ściągnij wersję z mingw. Nie musisz ustawiać żadnych kompilatorów.
http://www.codeblocks.org/downloads/26

screenshot-20200317194003.png

Nawet masz info na dole napisane, że najlepiej brać tą wersję...

Jeszcze raz, bardzo dziękuję.

Co zrobić by wypisywało od "Podaj liczbe numer 1:" a nie 0 ?
Zmiana i = 1 nie nie dała, a nie chciałbym przerabiać kodu żeby pytało osobno o każdą literę w tabeli

edytowany 1x, ostatnio: Killertank1010
AK
  • Rejestracja:ponad 6 lat
  • Ostatnio:około rok
  • Postów:3561
1
Spine napisał(a):

moja Pani z zawodowych

Brzmi jak "ze studiów zawodowych"...

Program wykonuje wszystkie operacje po kolei jak mu napiszesz, zaczynając od punktu wejściowego (funkcja main());

Masz gotowca, naucz się z niego...

Kolega nie ma zamiaru się uczyć, tylko wyłudzić / wynudzić stopień. Skrzywdziłeś go tym gotowcem.

Killertank1010 napisał(a):

Co zrobić by wypisywało od "Podaj liczbe numer 1:" a nie 0 ?
Zmiana i = 1 nie nie dała, a nie chciałbym przerabiać kodu żeby pytało osobno o każdą literę w tabeli


Bo C to najlepszy język, każdy uczeń ci to powie
edytowany 1x, ostatnio: AnyKtokolwiek
K1
  • Rejestracja:prawie 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:15
0
AnyKtokolwiek napisał(a):
Spine napisał(a):

moja Pani z zawodowych

Brzmi jak "ze studiów zawodowych"...

Program wykonuje wszystkie operacje po kolei jak mu napiszesz, zaczynając od punktu wejściowego (funkcja main());

Masz gotowca, naucz się z niego...

Kolega nie ma zamiaru się uczyć, tylko wyłudzić / wynudzić stopień. Skrzywdziłeś go tym gotowcem.

Killertank1010 napisał(a):

Co zrobić by wypisywało od "Podaj liczbe numer 1:" a nie 0 ?
Zmiana i = 1 nie nie dała, a nie chciałbym przerabiać kodu żeby pytało osobno o każdą literę w tabeli

Nie znasz mnie to mnie nie oceniaj bo widać, że łatwo ci to przychodzi ;) . Już od 30 minut próbuję zmienić to w taki sposób żeby zamiast wypisywać "Podaj liczbe numer 0:" wypisywało "Podaj liczbe numer 1:"

SE
  • Rejestracja:prawie 8 lat
  • Ostatnio:ponad 3 lata
  • Postów:318
2

Już od 30 minut próbuję zmienić to w taki sposób żeby zamiast wypisywać "Podaj liczbe numer 0:" wypisywało "Podaj liczbe numer 1:"

A zmiana

Kopiuj
cout << "Podaj liczbe nr " << i << ": ";

na

Kopiuj
cout << "Podaj liczbe nr " << i+1 << ": ";

nie działa?

AK
To takie prymitywne, dodać jedynkę. Wstydź się.
SE
Ewentualnie i=1; i<=ile; ++i
Spine
ale wtedy tabela musiałaby zaczynać się od 1...
SE
A nie da się tego obejść przez cin >> tab[i-1]?
Spine
Da się, tylko to: by zaburzało mój styl kodowania; "przekombinowuje" konstrukcję pętli; dla czytającego kod nadaje priorytet wypisywaniu numeru elementu (co jest opcjonalne) nad iteracją tabeli (główne przeznaczenie iteratora pętli).
SE
Trzecia opcja jaka wpadła mi do głowy to pętla z dwiema zmiennymi - jedną od indeksu tabeli, a drugą od numeru elementu. Czyżby OP tę zastosował?
K1
  • Rejestracja:prawie 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:15
0
Serechiel napisał(a):

Już od 30 minut próbuję zmienić to w taki sposób żeby zamiast wypisywać "Podaj liczbe numer 0:" wypisywało "Podaj liczbe numer 1:"

A zmiana

Kopiuj
cout << "Podaj liczbe nr " << i << ": ";

na

Kopiuj
cout << "Podaj liczbe nr " << i+1 << ": ";

nie działa?

Już to zrobiłem ale twój sposób jest prostszy, dziękuje :)

AK
  • Rejestracja:ponad 6 lat
  • Ostatnio:około rok
  • Postów:3561
2
Killertank1010 napisał(a):
Serechiel napisał(a):

Już od 30 minut próbuję zmienić to w taki sposób żeby zamiast wypisywać "Podaj liczbe numer 0:" wypisywało "Podaj liczbe numer 1:"

A zmiana

Kopiuj
cout << "Podaj liczbe nr " << i << ": ";

na

Kopiuj
cout << "Podaj liczbe nr " << i+1 << ": ";

nie działa?

Już to zrobiłem ale twój sposób jest prostszy, dziękuje :)

Aż strach to sobie wyobrazić.


Bo C to najlepszy język, każdy uczeń ci to powie
K1
  • Rejestracja:prawie 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:15
0
AnyKtokolwiek napisał(a):
Killertank1010 napisał(a):
Serechiel napisał(a):

Już od 30 minut próbuję zmienić to w taki sposób żeby zamiast wypisywać "Podaj liczbe numer 0:" wypisywało "Podaj liczbe numer 1:"

A zmiana

Kopiuj
cout << "Podaj liczbe nr " << i << ": ";

na

Kopiuj
cout << "Podaj liczbe nr " << i+1 << ": ";

nie działa?

Już to zrobiłem ale twój sposób jest prostszy, dziękuje :)

Aż strach to sobie wyobrazić.

Nie pojmuję co w tym złego ? Czy proste rozwiązania nie są najlepsze w niektórych przypadkach ?

AK
Wszyscy ciekawi jesteśmy tego rozwiązania "ambitnego"
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)