Nie umiem napisać programu c++

Witam!
Muszę napisać program, który poda pary liczb spełniające równanie w zastosowaniu informatycznym. Jego celem jest pomoc użytkownikowi, który chce kupić i zamontować pamięć RAM w komputerze, biorąc pod uwagę architekturę procesora maksymalny obsługiwany rozmiar pamięci, jego typ SDR, albo różnej DDR’y ilość gniazd w płycie max dla pamięci dla płyty i typ pracy jedno-dwu kanałowy. Należy także rozważyć przypadek gdy użytkownik dokupi po czasie pamięci od innego producenta z innymi parametrami.
Zadanie nie wydaje się łatwe i bardzo potrzebuję pomocy, jeśli nie na forum to prywatnie. Jeśli ktoś podejmie się wyzwania będę bardzo wdzięczny :slight_smile:

Nie zrozumiałem co chcesz napisać, ale czy chociaż zacząłeś? Czy tak przyszedłeś łosia szukać który ci to zrobi?
Mogę pomóc , podpowiedzieć, poprawić ale nie pisać od zera komuś program.

1 polubienie

Mam 5 zadań resztę umiem, a tu nawet nie wiem o co dokładnie chodzi, więc potrzebuję porady chociażby w krokach co zrobić.

Nie wiem czy te zadania są tak sformułowane jak to napisałeś ale ja ich także nie zrozumiałem. Ty pisałeś o jednym programie czy o paru? Jeśli o paru to weź je ponumeruj.

1 polubienie

Jeden program, dokładna treść na zdjęciu :C

Dawno tak dziwnie sformułowanego zadania nie widziałem skąd je wziąłeś? Jeśli to zadanie ze szkoły studiów to dopytaj o co chodzi. Albo to ja dzisiaj zamulam ale wątpię.

1 polubienie

No takie zajęcia dodatkowe na uczelni, ale teraz strajk jest to ich nie będzie, a chciałem se zrobić do przodu, bo to na zaliczenie jest :C
Mam taki program i pewnie na nim się trzeba wzorować:
// Pary liczb spełniające równanie
#include
#include
#include <conio.h>
#include
#include <math.h>
#include
#define ESC 27
using namespace std;

main()
{
cout << “Program wypisuje pary liczb x,y z zakreu 1-512”;
cout << “Spelniajace rowanie: x^2 + y^2 < 1024”;
for(int x = 1; x < 512; x++)
for(int y = 1; y < 100; y++)
if(x* x + y * y < 1024)
cout << endl << " x= " << x << " y = " <<y;
}

Ten program sugeruje początki programowania a ten do góry wydaję się być zupełnie z innego poziomu. A tak w ogóle to po co ktoś używa math.h i conio.h w tak prostym programie? I po co te puste includy? i czemu druga pętla jest do 100 tylko? Może ja czegoś nie rozumiem ale ktoś kto to pisze moim zdaniem jest co najmniej bardzo chaotyczny. Po za tym po co pętla aż do 512 skoro liczba podniesiona do kwadratu musi być mniejsza od 1024? Wystarczyło by lecieć tylko do pierwiastka i tak samo w drugiej pętli.

Nie ja to pisałem :frowning: Puste biblioteki się zwyczajnie nie przeniosły. To masz jakiś pomysł jak to ugryźć?

Tutaj masz porównanie mojego algorytmu vs algorytm ten który podałeś 770 to liczba par a te drugie liczby to liczba przejść pętli moja po prawej . Mój wygląda tak

void funkcjamoja() {
cout << "Program wypisuje pary liczb x, y z zakreu 1 - 512";
cout << "Spelniajace rowanie : x ^ 2 + y ^ 2 < 1024";
for (int x = 1; x*x < 1023; x++)
	for (int y = 1; y*y + x * x < 1023; y++) 
		cout << endl << " x= " << x << " y = " << y;
}

Biblioteki użyłem #include iostream tylko. Ważne byś zrozumiał ,że optymalizacja też jest ważna.

Czemu mi wcina iostream ?

Wielkie dzięki, tylko nadal zastanawiam się jak ma to działać z tematem Ramów :frowning:

Niestety to już nie kwestia programowania a zrozumienia tego zadania a to mnie przerasta.

Też jak dla mnie dziwne zadanie, ale spróbujmy cos pokminić (burza móźgów), może dojdziemy do jakiejś konkluzji. Masz jakiś program niewiadomego pochodzenia, na którym zakładasz, że musisz się wzorować. Generalnie jest on dziwny, bo ma jakieś stałe typu 512, 1024 itp. ogólnie nie wiem skąd, a do tego nierówność, gdzie opisane jest by podać liczby spełniające równanie. Co to za program, skąd on jest skąd przypuszczenie, że trzeba się na nim wzorować?

Drugie co mnie zastanawia to napisanie programu, który poda pary liczb spełniające równanie. Jakie? W sensie co te pary liczb mają sobą reprezentować, to też jest nie jasne. U ciebie to jakaś suma kwadratów, ale czym jest ten kwadrat, jaką wielkośc reprezentuje, rozmiar pamięci, liczbę kości pamięci czy co?

Ja mam jakieś takie kminienie, że to ma być równanie w ujeciu informatycznym, a nie matematycznym, więc te pary liczb nie bedą spełniac stricte równania matematycznego, ale muszą odpowiedzieć użytkownikowi co on ma kupić. Ponieważ para liczb to zakładam, że chodzi o dwie najwazniejsze rzeczy w RAM (rozmiar oraz częstotliwość) i takie pary trzeba podać.

Dalej jeżeli przetłumaczymy “Weź pod uwagę” na “Użytkownik programu poda ci na wejściu co ma / chce”, czyli że ma 32 vs 64 (co określa ile może używać maksymalnie pamięci), jakiego typu (to chyba tworzy widełki rozmiar + częstotliwość np. nie ma DDR1 o częstotliwości 1333 MHz albo 4GB), ile ma gniazd, ile ramu obłsuguje jego płyta i czy chce żeby one działały w single channel czy dual channel, to jeżeli zbudujesz bazę danych przykładowych kości (rozmiar, częstotliwość), to będziesz mógł z niej “wykreslić” te które nie pasują i zaproponować zestawy, uzytkownikowi, które spełniają jego preferencje.

Tak ja bym to rozumiał, ale może to być całkowicie błędne.

Wygląda logicznie ale nie pasuje mi jedna rzecz robienie bazy vs ten kod mam wrażenie ,że to dwa zupełnie różne poziomy.

Zaczekałbym na autora, bo moze jest w stanie udzielić informacji skąd w kodzie są stałe typu 1024, 512 czy 100, bo dla mnie to jest dziwne. To jest program od wykładowcy, czy od jakiejś osoby z grupy? 512 czy 1024 wyglądają na rozmiar RAMu, ale nie ma to sensu w kontekście DDR4, które może być dużo większe.

Z tego co piszecie to chyba nie będzie miało nic wspólnego. Na moje liczby są poglądowe. Pewnie chodziło, że w taki sposób mają się wyświetlić odpowiednie dane. Na moje kostek dobrze mówi i to musi być program na postawie wpisanych przez użytkownika danych dobierze odpowiednie ramy do systemu, oraz powie czy inne też będą dobre. Inaczej to ja już nie wiem.

PS Prośba, żebyś odpowiedział w tym temacie o co chodziło autorowi, jak się już wyjaśni, po zajęciach, bo w sumie jestem ciekawy.

dobra, spedzilem nad tym cudem pare minut i naprawde chce wiedziec co to za cudaczne zadanie.
Gdyby jakikolwiek klient podal mi cos takiego jako specyfikacje to dalbym mu deske, zeby sobie w glowe… przymierzyl.
Jak ludzie maja sie czegos na tych studiach nauczyc, jezeli pseudo-wykladowcy nie potrafia poskladac do kupy prostej specyfikacji… smh…

Uwierz mi to zadanie to jeszcze nic :smiley:.

Jak tylko wrócę i się dowiem to na pewno wam powiem :slight_smile: