Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Zadanie szkolne.


Rekomendowane odpowiedzi

Opublikowano

Cześć, siedzę sobie i robię ze znajomymi zadanie do szkoły - póki co wykminiliśmy pętle "for", aby wpisywać dane 'n' razy. Zadanie jest do szkoły, na jutro. Ktoś mógłby wspomóc? :D

 

 

 

uxzuESr.png

 

 

Opublikowano

z tego co widze to najpierw jest podawana ilość jabłoni a potem 2 punkty (x, y) opisujące położenie jabłoni. znajdź najmniejsza i najwieksza wartosc z podanych 'x', odejmij wieksza od mniejszej,i to samo z podanymi 'y'. dodaj ze soba te 2 wartosci pomnoz razy 2, bang, koniec.

 

a jak ci kod poprawnie nie dziala to wstaw ten kod to cos sie zdziala

Opublikowano
#include <iostream>
using namespace std;
int main()
{
int ilosc,x,y,i,n,max,najwieksza1,min,najwieksza2,wynik;
cin>>ilosc;
for(i=1; i<=ilosc; i++)
{
 cin>>x;
 cin>>y;


}




 for(int i=1;i<x;i++)
 {


 cin>>najwieksza1;
}
 if(min>najwieksza1)
 {


 min = najwieksza1;
}




 {


 for(int i=1;i<y;i++)
 {


 cin>>najwieksza2;
}
 if(max>najwieksza2)
 {


 max = najwieksza2;
}


}
max*2+min*2 == wynik;


cout<<wynik;


return 0;
}

Tak wyglądała nasza próba

Jako główny problem przede wszystkim widzę, to, że zamiast "cin" powinno być przypisanie wartości  "najwieksza1" "najwieksza2" - 0

 

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

 

Czy to jest technicznie napisane poprawnie?

#include<iostream>

using namespace std;

int main()
{

    int n,x,y,minX,maxX,minY,maxY;
    do
    {
        cin>>n;
    }
    while(n<2 || n>100000);
    cin>>x>>y;
    minX = maxX = x;
    minY = maxY = y;
    n--;
    while(n>0)
    {
        cin>>x>>y;

        if(x > maxX)
            maxX = x;
        else if(x < minX)
            minX = x;

        if(y > maxY)
            maxY = y;
        else if(y < minY)
            minY = y;

        n--;
    }

    cout<<2*(maxX-minX)+2*(maxY-minY);

    return 0;
}
Opublikowano

1. robisz zmienna (np o nazwie takiej jak podana w zadaniu - 'n', ktora reprezentuje ile bedzie podanych jabloni)

2. wczytujesz ta zmienna( std::cin >> n;)

3. robisz 4 zmienne (int minX = 0, maxX = 0, minY = 0, maxY = 0;)

4. robisz petle ktora dziala dopoki licznik jest mniejszy od n [ for(int i = 0; i < n; ++i){ 

w tej pętli robisz tak:

a) deklarjesz 2 zmienne (int x,y;)

b ) wczytujesz je z klawiatury (std::cin >> x >> y;)

c) i teraz sprawdzasz czy podane liczby nie jest przypadkiem najmniejsza/najwieksza:

 

        if(x < minX) minX = x;
        else if(x > maxX) maxX = x;

        if(y < minY) minY = y;
        else if(y > minY) maxY = y;

d) zamykasz klamre od pętli ( } )

5. teraz już poza pętla robisz tak:

a) odejmujesz najwiekszego X od najmniejszego X (maxX -= minX;)

b ) odejmujesz najwiekszego Y od najmniejszego Y (maxY -= minY;)

6. tworzysz zmienna wynik i obliczasz w niej obwod prostokata (int obwod = (maxX + maxY) * 2;)

7. wypisujesz ją na ekran (std::cout << obwod << std::endl;)

 

napisalem ci caly kod musisz tylko w kupe go poskladac

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...