[C++] Wczytywanie liczb i agregowanie ich
-
- Użytkownik
- Posty: 1931
- Rejestracja: 29 maja 2009, o 11:58
- Płeć: Mężczyzna
- Lokalizacja: Warszawa
- Podziękował: 145 razy
- Pomógł: 320 razy
[C++] Wczytywanie liczb i agregowanie ich
Na listach by się dało. Ale to raczej nie to. Podejrzewam, że ten test jest źle napisany, albo polecenie jest nieprecyzyjne.
-
- Moderator
- Posty: 2828
- Rejestracja: 15 cze 2008, o 15:45
- Płeć: Mężczyzna
- Lokalizacja: Seattle, WA
- Podziękował: 3 razy
- Pomógł: 356 razy
[C++] Wczytywanie liczb i agregowanie ich
Odnośnie pierwszego zadania:
1. Po co kombinujecie z tablicami? Jedna pętla, wczytywanie liczby i wypisanie wyniku, nic więcej nie trzeba.
2. „Zasadnicze dane wejściowe” nie muszą być nieujemne, więc wczytywanie ich do typu bez znaku spowoduje błędy.
3. Nie ma podanych zakresów, więc nie wiadomo, czy inty wystarczą. Można próbować long long inty, treść zadania nie sprawia wrażenia, jakby trzeba było bawić się z dowolną precyzją, ale i taka jest możliwość.
4. Jeżeli jest to automatyczna sprawdzarka, to dane wejściowe na 99% są poprawne, więc nie ma potrzeby weryfikacji.
1. Po co kombinujecie z tablicami? Jedna pętla, wczytywanie liczby i wypisanie wyniku, nic więcej nie trzeba.
2. „Zasadnicze dane wejściowe” nie muszą być nieujemne, więc wczytywanie ich do typu bez znaku spowoduje błędy.
3. Nie ma podanych zakresów, więc nie wiadomo, czy inty wystarczą. Można próbować long long inty, treść zadania nie sprawia wrażenia, jakby trzeba było bawić się z dowolną precyzją, ale i taka jest możliwość.
4. Jeżeli jest to automatyczna sprawdzarka, to dane wejściowe na 99% są poprawne, więc nie ma potrzeby weryfikacji.
[C++] Wczytywanie liczb i agregowanie ich
@Afish, dzięki!
Właśnie słyszałem że to zadanie da się rozwiązać bez pętli, jednak nie mam pomysłu na to jak to zrobić. Mógłbyś podrzucić tę pętlę?
Właśnie słyszałem że to zadanie da się rozwiązać bez pętli, jednak nie mam pomysłu na to jak to zrobić. Mógłbyś podrzucić tę pętlę?
-
- Moderator
- Posty: 2828
- Rejestracja: 15 cze 2008, o 15:45
- Płeć: Mężczyzna
- Lokalizacja: Seattle, WA
- Podziękował: 3 razy
- Pomógł: 356 razy
[C++] Wczytywanie liczb i agregowanie ich
Bez pętli? Rekurencyjnie lub skokami, ale czy to nie są koncepcyjnie pętle, to już nie mnie decydować.mich12 pisze:Właśnie słyszałem że to zadanie da się rozwiązać bez pętli, jednak nie mam pomysłu na to jak to zrobić.
Już w pierwszej wiadomości tego tematu taka pętla się znajduje, wystarczy wywalić niepotrzebne wypisania na strumień wyjścia, upewnić się, że typy zmiennych wystarczą dla zakresów podanych w zadaniu i powinno działać.mich12 pisze:Mógłbyś podrzucić tę pętlę?
[C++] Wczytywanie liczb i agregowanie ich
Kod: Zaznacz cały
//Michał Siczek
#include <iostream>
using namespace std;
int main ()
{
int special;
int input;
int data;
cout << "Wczytaj liczbe specjalna: " << endl;
cin >> special;
cout << "Wczytaj liczba oznaczajaca ilosc danych wejsciowych: " << endl;
input = -1;
while(input < 0)
cin >> input;
cout << "Wczytuj dane wejsciowe: " << endl;
for (input; input > 0; input--){
cin >> data;
}
if (special % data == 0)
cout << "TAK" << endl;
else
cout << "NIE" << endl;
return 0;
}
-
- Moderator
- Posty: 2828
- Rejestracja: 15 cze 2008, o 15:45
- Płeć: Mężczyzna
- Lokalizacja: Seattle, WA
- Podziękował: 3 razy
- Pomógł: 356 razy
[C++] Wczytywanie liczb i agregowanie ich
No a co teraz robisz w pętli? Wczytujesz liczbę. A co chcesz robić? Wczytywać liczbę i wypisywać „TAK” lub „NIE”. Czyli jak trzeba poprawić kod? Trzeba przenieść wypisywanie do pętli.
[C++] Wczytywanie liczb i agregowanie ich
Kod: Zaznacz cały
#include <iostream>
using namespace std;
int main ()
{
int setnumber;
float mark;
cin >> setnumber;
for ( int i = 0; i < setnumber; i++) {
int data [i][2];
cin >> data[i][0];
cin >> data[i][1];
cin >> data[i][2];
}
for(int i =0; i < setnumber; i++) {
int data [i][2];
if ((data [i][1] + data[i][2]) < 50)
mark = 2.0;
else if((data[i][1]+data[i][2]) >= 50 && (data[i][1]+data[i][2]) < 60)
mark = 3.0;
else if((data[i][1]+data[i][2]) >= 60 && (data[i][1]+data[i][2]) < 70)
mark = 3.5;
else if((data[i][1]+data[i][2]) >= 70 && (data[i][1]+data[i][2]) < 80)
mark = 4.0;
else if((data[i][1]+data[i][2]) >= 80 && (data[i][1]+data[i][2]) < 90)
mark = 4.5;
else if((data[i][1]+data[i][2]) >= 90 && (data[i][1]+data[i][2]) <= 100)
mark = 5.0;
cout << data [i][0]<< " " << data [i][1] + data [i][2] << "% ";
if ( mark == 2.0 ) cout << "niedostateczny ";
if ( mark == 3.0 ) cout << "dostateczny ";
if ( mark == 3.5 ) cout << "dostateczny plus ";
if ( mark == 4.0 ) cout << "dobry ";
if ( mark == 4.5 ) cout << "dobry plus ";
if ( mark == 5.0 ) cout << "bardzo dobry ";
cout <<"(" << mark << ")" << endl;
}
}
[C++] Wczytywanie liczb i agregowanie ich
Czyli nie powinienem deklarować za każdym razem? Mógłbyś zasugerować w której linijce jest błąd?
Kod: Zaznacz cały
int data [i][2]
-
- Użytkownik
- Posty: 20
- Rejestracja: 14 paź 2016, o 20:46
- Płeć: Mężczyzna
- Lokalizacja: pzn
- Podziękował: 1 raz
- Pomógł: 1 raz
[C++] Wczytywanie liczb i agregowanie ich
Nie wiem, co twój program powinien robić, bo przeczytałem tylko dwa ostatnie twoje posty, ale po pierwsze w pętli nie deklaruj zmiennej ciągle, czyli nie rób zamiast tego zadeklaruj na samym początku tą zmienną czyli np. przed , a jak chcesz wpisać do niej element to po prostu stosujesz np. . Po za tym jak deklarujesz tablicę to piszesz i liczysz od 0, czyli jak masz to twoja tablica ma tylko indeksy 0, 1, nie możesz więc nic wpisać do komórki numer 2, bo twoja tablica jej nie posiada.
I ponieważ w C++ int main jest traktowana jako funkcja to warto na jej końcu napisać return 0.
Kod: Zaznacz cały
int zmienna =
Kod: Zaznacz cały
int main
Kod: Zaznacz cały
zmienna = wartość
Kod: Zaznacz cały
data [i][2] = 5
Kod: Zaznacz cały
typ tablica[ilosc elementow]
Kod: Zaznacz cały
int data[2]
I ponieważ w C++ int main jest traktowana jako funkcja to warto na jej końcu napisać return 0.
-
- Użytkownik
- Posty: 1931
- Rejestracja: 29 maja 2009, o 11:58
- Płeć: Mężczyzna
- Lokalizacja: Warszawa
- Podziękował: 145 razy
- Pomógł: 320 razy
[C++] Wczytywanie liczb i agregowanie ich
Jak chcesz odpowiadać, to przynajmniej odpowiadaj dobrze. ZMIENNYCH GLOBALNYCH SIĘ NIE UŻYWA GDY NIE MA TAKIEJ POTRZEBYMatPiotr pisze:tego zadeklaruj na samym początku tą zmienną czyli np. przedKod: Zaznacz cały
int main