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

Chcę wpisać a liczbę testów, wypisać 4 liczby i wypisać tyle testów ile jest w zmiennej a

VPS Starter Arubacloud
0 głosów
384 wizyt
pytanie zadane 19 sierpnia 2020 w C i C++ przez Programator6909 Użytkownik (780 p.)

Witam, jestem w dołku próbuję coś zrobić jednak zapomniałem jednej rzeczy, internet nie pomaga w tej sprawie. Chcę wpisać jedną liczbę np. a , pod spodem 3 kolejne i ile było podane liczb a np. 4 i żeby można było wpisać 4 kolejne liczby obok. Jednak zapomniałem jak to robić. frown

#include <iostream>

using namespace std;

int a, b, c, d, f;



int main()
{
       std::cout << a << std::endl;

        for(int i=100; i=f; i++)
        {
            cin>>a;
        }
        cin>>b; cin>>c; cin>>d;


    return 0;
}

 

4 odpowiedzi

0 głosów
odpowiedź 19 sierpnia 2020 przez Official gildin Bywalec (2,820 p.)
1> przypisz wartość dla 'f'

2> zmień konstruktor dla 'i'
0 głosów
odpowiedź 20 sierpnia 2020 przez VBService Ekspert (255,800 p.)

Czy coś takiego miałeś na myśli wink

#include <iostream>
 
int main()
{
  int a, b, c, d, e, f; 
       
  std::cout << "Ile a: ";
  std::cin >> a;
  std::cout << "Wprowadz a " << a << " razy\n";

  e=a; 
  for (int i=0; i<e; ++i)
  {
    std::cin >> a;
    f+=a;
  }
  std::cout << "Suma a razy " << e << " = " << f << "\n";

  std::cout << "Podaj b: ";
  std::cin >> b;
  std::cout << "Podaj c: ";
  std::cin >> c;
  std::cout << "Podaj d: ";
  std::cin >> d; 
 
  return 0;
}

 

komentarz 20 sierpnia 2020 przez Official gildin Bywalec (2,820 p.)
btw po co robisz e=a, nie możesz w miejsce e wstawić a?
0 głosów
odpowiedź 20 sierpnia 2020 przez Programator6909 Użytkownik (780 p.)

O to mi chodziło, ale nie do końca. Zmieniłem trochę kod: 

#include <iostream>

int main()
{
  int t, c, k, w, e, f, x;


  std::cin >> t;

  e=t;
  for (int i=0; i<e; ++i)
  {
    std::cin >> t;
    f+=t;
    x = c*w;
  }

    std::cin >> c >> x;
    std::cin >> k >> x;
    std::cin >> w >> x;



  if(x <= k)
  {
      std::cout << "TAK";
  }
  else
  {
      std::cout << "NIE";
  }



  return 0;
}

Tylko taka mała dygresja chciałem żeby słowa TAK i NIE były wypisywane obok obecnej zatwierdzonej linii. Coś takiego:



//liczba testów   4
c  k  w
5 20 3  TAK

3 10  2 TAK

 8  20 2  NO

15  28 3 NO

 Pomożecie?

 


 

komentarz 21 sierpnia 2020 przez VBService Ekspert (255,800 p.)

Tak wink

0 głosów
odpowiedź 21 sierpnia 2020 przez VBService Ekspert (255,800 p.)
edycja 21 sierpnia 2020 przez VBService
#include <iostream>
#include <string>
 
int main()
{
  int t, x; 
 
  std::cout << "Ile testow: ";
  std::cin >> t;
 
  std::string test[t];
  int c_[t], k_[t], w_[t];  

  for (int i=0; i<t; ++i)
  {
    std::cout << "----" << i+1 << "----\n";
    std::cin >> c_[i];
    std::cin >> k_[i];
    std::cin >> w_[i];
    x = c_[i] * w_[i];

    if(x <= k_[i])
    {
      test[i] = "TAK";
    } 
    else
    {
      test[i] = "NIE";
    }
  }
  
  std::cout << "\n";

  // Prezentacja testow
  for (int i=0; i<t; ++i)
  {
    printf("%-2i %-2i %-2i ", c_[i], k_[i], w_[i]);
    if (test[i] == "TAK")
    {
      printf("%c[%dm%s%c[%dm\n", 0x1B, 32, test[i].c_str(), 0x1B, 0); // green
    }
    else // NIE
    {
      printf("%c[%dm%s%c[%dm\n", 0x1B, 31, test[i].c_str(), 0x1B, 0); // red
    }
  }

  std::cout << std::endl;
  return 0;
}

P.S. c++ - Difference between "endl" and "\n"
std::endl, instead, is an object that will cause to append the newline character ("\n") AND to flush stdout buffer. For this reason it will take more processing. For this reason it will take more processing.

komentarz 21 sierpnia 2020 przez Programator6909 Użytkownik (780 p.)

A da się pozbyć tych 32m przy napisach TAK, NIE?

komentarz 21 sierpnia 2020 przez VBService Ekspert (255,800 p.)

Tak oczywiście, to są kody ansi (te, tu użyte, kolorują tekst w konsoli)

Kod bez ansi.

#include <iostream>
#include <string>
  
int main()
{
  int t, x; 
  
  std::cout << "Ile testow: ";
  std::cin >> t;
  
  std::string test[t];
  int c_[t], k_[t], w_[t];  
 
  for (int i=0; i<t; ++i)
  {
    std::cout << "----" << i+1 << "----\n";
    std::cin >> c_[i];
    std::cin >> k_[i];
    std::cin >> w_[i];
    x = c_[i] * w_[i];
 
    if(x <= k_[i])
    {
      test[i] = "TAK";
    } 
    else
    {
      test[i] = "NIE";
    }
  }
   
  std::cout << "\n";
 
  // Prezentacja testow
  for (int i=0; i<t; ++i)
  {
    printf("%-2i %-2i %-2i %s\n", c_[i], k_[i], w_[i], test[i].c_str());
  }
 
  std::cout << std::endl;
  return 0;
}

 

Podobne pytania

0 głosów
1 odpowiedź 704 wizyt
pytanie zadane 12 września 2020 w PHP przez Marak123 Stary wyjadacz (11,190 p.)
0 głosów
1 odpowiedź 208 wizyt

92,975 zapytań

141,938 odpowiedzi

321,181 komentarzy

62,302 pasjonatów

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 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...