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

Stworzenie podprogramu

Object Storage Arubacloud
0 głosów
89 wizyt
pytanie zadane 16 stycznia 2020 w C i C++ przez BloodyBoy89 Początkujący (440 p.)
edycja 16 stycznia 2020 przez BloodyBoy89

Program ma wykonać działanie w zależności od numeru zadania.

#include<iostream>
#include<math.h>
using namespace std;

int main()
{
    char r;
    while(cin>>r)
    {

    switch(r)
{

    case '1':
     int tablica[100],n;

    cin>>n;
    for(int i=0; i<n; i++)
        {
        cin>>tablica[i];
        }
    for (int i=0; i<n-1; i++)
        for (int j=0; j<n-1; j++)
            if (tablica[j]<tablica[j+1])
                swap(tablica[j], tablica[j+1]);

    for (int i = 0; i<n; i++)
        cout << tablica[i]<<" ";
    break;
//////////////////////////////////////////////////////////////////////////////////////////////////////////
    case '7':
         float a,b,c,d;
    float x1,x2,x,cztery,zero;
    cin>>cztery>>zero>>a>>b>>c;
         d=(b*b)-(4*a*c);
            if(d>0)
            {
                x1=(-b-sqrt(d))/(2*a);

                x2=(-b+sqrt(d))/(2*a);

                if(x1>x2)
                {
                    cout<<floor(x2)<<" "<<floor(x1)<<endl;
                }
                if(x2>x1)
                {
                     cout<<floor(x1)<<" "<<floor(x2)<<endl;
                }




            }
             if(d==0)
             {
                  x=-b/(2*a);
                  cout<<x<<endl;
             }
    break;
////////////////////////////////////////////////////////////////////////////////////////////////////////////
    case '4':
    	int tab[100],temp,i,j;


	cin>>n;

	for(i=0;i<n;i++)
	{

		cin>>tab[i];
	}

	for(i=0,j=n-1;i<n/2;i++,j--)
	{
		temp=tab[i];
		tab[i]=tab[j];
		tab[j]=temp;
	}



	for(i=0;i<n;i++)
		cout<<tab[i]<<" ";


    break;
}
    }
    return 0;
}

Program działa ale na stronie gdzie mam go wrzucić wyrzuca mi coś takiego:

main0.cpp(93,16): warning C4456: declaration of 'i' hides previous local declaration

main0.cpp(63,24): note: see declaration of 'i'

main0.cpp(96,21): warning C4456: declaration of 'i' hides previous local declaration

main0.cpp(93,13): note: see declaration of 'i'

Podejrzewam że, nadpisuje wartość "i". Moje pytanie jest takie: Jak zrobić żeby każdy podprogram miał swoje własne wartości typu "i","n","j" które można by było zapisywać na początku każdego z podprogramów jako int/float i,n,j;

Przykładowe dane wejściowe i funkcja podprogramu:

 zad1 Posortuj wejściowy ciąg liczb 1 5 7 9 3 8 1
zad4 Zapisz podany wejściowy ciąg liczbowy w tablicy i odwróć go w miejscu 4 4 3 6 8 9
zad7 Rozwiąż równanie kwadratowe 7 4 0 6 10 1

 

1 odpowiedź

+1 głos
odpowiedź 16 stycznia 2020 przez tangarr Mędrzec (154,860 p.)
wybrane 16 stycznia 2020 przez BloodyBoy89
 
Najlepsza

Opakuj swoje przypadki w osobne bloki nawiasami klamrowymi.

 

#include<iostream>
#include<math.h>

using namespace std;

int main() {
  char r;
  while (cin >> r) {
    switch (r) {
    case '1':
      {
        int tablica[100],
        n;

        cin >> n;
        for (int i = 0; i < n; i++) {
          cin >> tablica[i];
        }
        for (int i = 0; i < n - 1; i++)
          for (int j = 0; j < n - 1; j++)
            if (tablica[j] < tablica[j + 1])
              swap(tablica[j], tablica[j + 1]);

        for (int i = 0; i < n; i++)
          cout << tablica[i] << " ";
      }
      break;
      //////////////////////////////////////////////////////////////////////////////////////////////////////////
    case '7':
      {
        float a,
        b,
        c,
        d;
        float x1,
        x2,
        x,
        cztery,
        zero;
        cin >> cztery >> zero >> a >> b >> c;
        d = (b * b) - (4 * a * c);
        if (d > 0) {
          x1 = (-b - sqrt(d)) / (2 * a);

          x2 = (-b + sqrt(d)) / (2 * a);

          if (x1 > x2) {
            cout << floor(x2) << " " << floor(x1) << endl;
          }
          if (x2 > x1) {
            cout << floor(x1) << " " << floor(x2) << endl;
          }

        }
        if (d == 0) {
          x = -b / (2 * a);
          cout << x << endl;
        }
      }
      break;
      ////////////////////////////////////////////////////////////////////////////////////////////////////////////
    case '4':
      {
        int tab[100],
        temp,
        i,
        j;

        cin >> n;

        for (i = 0; i < n; i++) {
          cin >> tab[i];
        }

        for (i = 0, j = n - 1; i < n / 2; i++, j--) {
          temp = tab[i];
          tab[i] = tab[j];
          tab[j] = temp;
        }

        for (i = 0; i < n; i++)
          cout << tab[i] << " ";

        break;
      }
    }
  }
  return 0;
}

 

komentarz 16 stycznia 2020 przez BloodyBoy89 Początkujący (440 p.)

Dzięki wielkie działa laugh

Podobne pytania

0 głosów
0 odpowiedzi 100 wizyt
0 głosów
1 odpowiedź 556 wizyt
pytanie zadane 5 kwietnia 2020 w C# przez enero Początkujący (330 p.)

92,584 zapytań

141,434 odpowiedzi

319,671 komentarzy

61,968 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...