CodeBlock-C++

K1
  • Rejestracja:około 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:około 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:około 22 lata
  • Ostatnio:35 minut
  • Postów:6670
3

A co studiujesz?

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


🕹️⌨️🖥️🖱️🎮
edytowany 1x, ostatnio: Spine
K1
  • Rejestracja:około 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:około 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:około 22 lata
  • Ostatnio:35 minut
  • Postów:6670
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:około 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:około 22 lata
  • Ostatnio:35 minut
  • Postów:6670
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:około 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:około 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:prawie 7 lat
  • Ostatnio:około miesiąc
  • 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:około 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?

Zobacz pozostały 1 komentarz
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:około 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:prawie 7 lat
  • Ostatnio:około miesiąc
  • 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:około 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"

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.