Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wpisywanie w jednej linii.

Ostatnio zmodyfikowano 2009-10-03 18:33
Autor Wiadomość
Saint
Temat założony przez niniejszego użytkownika
Wpisywanie w jednej linii.
» 2009-10-02 09:18:15
Witam.

Mam takie zadanie: https://pl.spoj.pl/problems/DOUGHNUT/

Nie wiem jak zrobić żeby zmienne były wczytywane z klawiatury w jednej linii tak jak w przykładzie ;p Zawsze przeskakuje mi do następnej linii.


P-10568
steckel
» 2009-10-02 15:24:38
Przechodzi ci do następnej linii bo zatwierdzasz enterem. Program nie będzie miał problemów z odpowiednim wczytywaniem wartości do zmiennych.
P-10569
Saint
Temat założony przez niniejszego użytkownika
» 2009-10-02 17:01:09
Tu jest zadanie: https://pl.spoj.pl/problems/DOUGHNUT/

A oto kod mojego programu: http://nopaste.gamedev.pl/?id=4479

Program działa dobrze, ale bot sprawdzający poprawność programu nie przyjmuje rozwiązania.
Przyczyną błędu jest wczytywanie zmiennych w paru liniach zamiast jednej. Można to wywnioskować porównując to zadanie do tego z tej samej strony: https://pl.spoj.pl/problems/PTEST/   gdzie wyraźnie jest napisane aby zmienne były wczytywane w oddzielnych liniach.
P-10571
joker1111
» 2009-10-02 20:31:18
problem lezy w tym(moim zdaniem):
[CODE src="C++"]
if(c*w>k)
{
    cout<<"No";
}
else
{
    cout<<"Yes";
}
[/code]
gdie wpisales ile ma k?
c*w>k tylko ze normalnie dla kompilatora k=0 bo nie przypisales wartosci

[CODE src="C++"]
#include<iostream>
int funkcja(int,int);
using namespace std;
int main(){

unsigned int c,k,a;
unsigned int w=0;
unsigned int t;


while(true)
{
cout<<"Podaj t\n";
cin>>t;
if(t <= 100 && t>0) break;}

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

while(true){
cout<<"Podaj c\n";
cin>>c;
if(1 <= c) break;
}
cin>>k;

while(true){
cout<<"Podaj w\n";
cin>>w;
if(w <= 100) break;
}

a=c*w;
k=20;
if(a>k)
{
    cout<<"No\n";
}
else
{
    cout<<"Yes\n";
}

}
}
[/code]
tylko c trzeba wpisywac 2 razy ale do tego mam nadzieje juz sam dojdziesz
P-10572
Saint
Temat założony przez niniejszego użytkownika
» 2009-10-02 22:34:19
*joker1111

Mój kod jest dobry, zmienną k wczytuję w 22 drugiej linijce. Moje pytanie dotyczy tego jak wczytać kilka zmiennych w jednej linijce.
P-10586
malan
» 2009-10-03 16:01:22
Możesz wczytać je (nie zmienne, tylko liczby) za pomocą 'getline' (jako ciąg) np.
C/C++
std::string zestaw1;
//...
getline( std::cin, zestaw1 );
..., a następnie 'wybrać' z ciągu te rzeczy, które Ci interesują.
P-10595
Lord_Voldemort
» 2009-10-03 16:38:00
C/C++
#include <iostream>
using namespace std;
int main()
{
    unsigned testy;
    cin >> testy;
    for( unsigned i = 0; i < testy; ++i )
    {
        float c, k, w;
        cin >> c >> k >> w;
        if( c * w <= k )
        {
            cout << "yes" << endl;
        }
        else
        {
            cout << "no" << endl;
        }
    }
    return 0;
}

Tu masz krótki, zrozumiały i sprawdzony kod.
P-10596
malan
» 2009-10-03 17:32:41
Tu masz krótki, zrozumiały i sprawdzony kod.
..., którego bot również nie zaakceptuje, gdyż dane są wprowadzane w oddzielnych wierszach to raz. Dwa - program nie ma wypisywać danych (wyniku) co obieg tylko po wczytaniu wszystkich 'zestawów' liczb.
P-10599
« 1 » 2
  Strona 1 z 2 Następna strona