• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Instrukcja iteracyjna dla wielu zestawów

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
154 wizyt
pytanie zadane 28 października w C i C++ przez MDa Nowicjusz (120 p.)
#include <iostream>
using namespace std;
int main()
{
   double v, t, s;
   cout<<"Podaj predkosc ciala:";
   cin>>v;
   cout<<"Podaj czas:";
   cin>>t;
   s=v*t;  
 cout<<"Przebyta droga:"<<s<<endl;
    system("pause");
return 0;
}

Dzień dobry,

Program liczący drogę przebytą przez ciało w ruchu jednostajnym prostoliniowym. Wielkości v, t należy wczytać. Napisałam coś takiego.

1. Jaką dodać instrukcję iteracyjną i w którym miejscu tak, aby program wykonywał się dla wielu zestawów danych wejściowych?

komentarz 28 października przez SzkolnyAdmin Szeryf (89,030 p.)
Uściślij.

1. Chcesz wykonywać obliczenia dla wielokrotnie podawanych danych przez usera i zapisywać wyniki? Pętla typu while lub do...while (gdy nie znasz z góry liczby podawanych zestawów danych) albo for (gdy znasz liczbę podawanych zestawów danych) orz tablica do ewentualnego zapisu.

2. Masz zestaw danych i chcesz wykonać obliczenia. Pętla for i tablica.
komentarz 28 października przez MDa Nowicjusz (120 p.)
Punkt 1 - będę podawać v i t kilka razy

1 odpowiedź

0 głosów
odpowiedź 28 października przez Velta Maniak (52,790 p.)

Warto uściślić znaczenie "wiele", dlatego od razu warto rozważyć kilka opcji:

Wartość zdefiniowana przez użytkownika

Można określić ilość powtórzeń zdefiniowanych wcześniej przez użytkownika. Najprędzej przyda się tutaj instrukcja for:

unsigned int iterations;
cin >> iterations;

for (unsigned int i = 0; i < iterations; i++) {
    // Kod dla pobierania wartości, obliczenia i zwracania wyniku.
}

Iterowanie w nieskończoność

Program można zakończyć przez kombinację klawiszy Ctrl + C. Wobec tego można iterować w nieskończoność przy użyciu instrukcji while i stałej:

while (true) {
    // Kod dla pobierania wartości, obliczenia i zwracania wyniku.
}

Iterowanie raz, albo i wiele razy

Instrukcja do ... while zapewnia wykonanie wskazanych instrukcji przynajmniej raz, niezależnie od wartości iterations:

unsigned int iterations;
cin >> iterations;

unsigned int currentIteration = 0;

do {
    // Kod dla pobierania wartości, obliczenia i zwracania wyniku.
}
while (++currentIteration < iterations);

Wczytanie wartości z pliku

Można przekazać programowi wartości z pliku, dopóki cokolwiek jest przekazywane do strumienia wejściowego:

double v, t;

while (cin >> v >> t) {
    // Kod dla obliczenia i zwrócenia wyniku.
}
2 4
4 8
8 12
10 16
12 20
some_app < input_file.txt

 

komentarz 28 października przez TOWaD Mądrala (6,250 p.)
Elegancko, ale na początku drogi z cpp wiele bym nie zrozumiał.

Dlatego mały przykładzik do rozkminiania.

 

#include <iostream>
#include <limits>
using namespace std;
void menu();
void program ();
int main()
{
   double v, t, s;
   while (1){
   cout<<"Podaj predkosc ciala:";
   if(!(cin>>v))break; // jeżeli nie poprawne dane przerwij, błąd strumienia.
   cout<<"Podaj czas:";
   if(!(cin>>t))break;
   s=v*t;  
 cout<<"Przebyta droga:"<<s<<endl;}
   // system("pause"); // co to? <windows.h>
   cin.clear();
   cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
/////////////////////////////// drugie podejście ze switch  
   menu();
return 0;
}

void menu(){
  while(1){
    char ch;
    cout<<"Czy chcesz wykonać obliczenia:[t/n]";
     switch(ch=getchar()){
       case 't':
       case 'T':
       program();
        cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
       break;
       case 'n':
       case 'N':
       return;
       default:
    cout<<"Błędna opcja, sprubój podać znak \"n\" lub \"t\"\n";
       cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
     }
     
  }
 
}
void program(){
    double v, t, s;
   cout<<"Podaj predkosc ciala:";
   cin>>v;
   cout<<"Podaj czas:";
   cin>>t;
   s=v*t;  
 cout<<"Przebyta droga:"<<s<<endl;
}

Podobne pytania

0 głosów
1 odpowiedź 397 wizyt
pytanie zadane 26 listopada 2015 w C i C++ przez Lukaspar Użytkownik (890 p.)
0 głosów
1 odpowiedź 556 wizyt
pytanie zadane 11 września 2017 w C i C++ przez Józef Niecierski Początkujący (440 p.)
0 głosów
0 odpowiedzi 384 wizyt
pytanie zadane 22 lutego w C i C++ przez Doge Gaduła (3,420 p.)

93,164 zapytań

142,176 odpowiedzi

321,937 komentarzy

62,492 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 688p. - dia-Chann
  2. 676p. - CC PL
  3. 675p. - Łukasz Piwowar
  4. 664p. - Marcin Putra
  5. 662p. - Łukasz Eckert
  6. 649p. - Michal Drewniak
  7. 641p. - rucin93
  8. 641p. - rafalszastok
  9. 629p. - Piotr Aleksandrowicz
  10. 621p. - Dawid128
  11. 597p. - Hubert Chęciński
  12. 572p. - ssynowiec
  13. 498p. - Michał Telesz
  14. 437p. - nidomika
  15. 427p. - Adrian Wieprzkowicz
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...