Przypisywanie do nowej tablicy

0

Jak mam przypisać liczby parzyste/nieparzyste do nowej tablicy?

#include <iostream>
#include <cstdlib>

using namespace std;

int liczby[10];

void parzyste()
{
	int ile = 0;
	for (int i = 0; i < 10; i++)
	{
		if ( ile = liczby[i] % 2 == 0)
		cout <<  liczby[i] << " ";
	}
	cout << endl;
}

void nieparzyste()
{
	for (int i = 0; i < 10; i++)
	{
		if (liczby[i] % 2 == 1)
		cout << liczby[i] << " ";
	}
	cout << endl;
}

void ilosc()
{
	int a;
	a = sizeof(liczby) / sizeof(liczby[0]);
	cout << a;
}


int main()
{
	cout << "Wprowadz 10 liczb: " << endl;
	for (int i = 0; i < 10; i++)
	{
		cin >> liczby[i];
	}
	
	int a;
	cout << "[1] - Parzyste" << endl;
	cout << "[2] - Nieparzyste" << endl;
	cin >> a;
	if (a == 1)
	{
		cout << "Wprowadzono ";
		ilosc();
		cout << " liczb parzystych ";
		parzyste();
	}
	else
	{
		cout << "Wprowadzono ";
		ilosc();
		cout<<" liczb nieparzystych ";
		nieparzyste();
	}
	

	system("PAUSE");
}
0

Witam.

Nie zbyt rozumiem w jakim miejscu w kodzie chcesz to zrobić. Ale możesz zrobić coś takiego w najprostszej wersji:

#include <iostream>
#include <cstdlib>

using namespace std;

int liczby[10];
int kopia[10];

void parzyste()
{
    int ile = 0;
    for (int i = 0; i < 10; i++)
    {
        if ( ile = liczby[i] % 2 == 0)
        cout <<  liczby[i] << " ";
        kopia[i]=liczby[i];
    }
    cout << endl;
}

void nieparzyste()
{
    for (int i = 0; i < 10; i++)
    {
        if (liczby[i] % 2 == 1)
        cout << liczby[i] << " ";
        kopia[i]=liczby[i];
    }
    cout << endl;
}

void ilosc()
{
    int a;
    a = sizeof(liczby) / sizeof(liczby[0]);
    cout << a;
}

int main()
{
    cout << "Wprowadz 10 liczb: " << endl;
    for (int i = 0; i < 10; i++)
    {
        cin >> liczby[i];
    }

    int a;
    cout << "[1] - Parzyste" << endl;
    cout << "[2] - Nieparzyste" << endl;
    cin >> a;
    if (a == 1)
    {
        cout << "Wprowadzono ";
        ilosc();
        cout << " liczb parzystych ";
        parzyste();
    }
    else
    {
        cout << "Wprowadzono ";
        ilosc();
        cout<<" liczb nieparzystych ";
        nieparzyste();
    }

    system("PAUSE");
}

0
  1. Napisz program, który wczytuje ze standardowego wejścia 10 liczb i wypisuje na standardowym wyjściu w zależności od wyboru przez użytkownika rodzaju akcji:
    • ile wprowadzono liczb parzystych oraz wartości tych liczb
    • ile wprowadzono liczb nieparzystych oraz wartości tych liczb
      Według formatu:
      "Wprowadzono 3 liczb parzystych: 18, 2, 146"
      lub
      "Wprowadzono 7 liczb nieparzystych: 1, 103, 57, 71, 595, 797, 259"
      Wymagania:
    • Do przechowywania liczb wykorzystaj tablicę
    • Do obliczania liczby liczb parzystych/nieparzystych napisz osobne funkcje, które zostaną wywołane z funkcji głównej programu(main)
    • Do wyświetlenia liczb parzystych/nieparzystych napisz osobne funkcje, które zostaną wywołane z funkcji głównej programu(main)

To jest zadanie, które muszę zrobić. Zostało tylko obliczanie ile liczb parzystych/nieparzystych będzie na końcu i nie mam pojęcia jak to zrobić.

0
#include <iostream>
#include <cstdlib>

using namespace std;

int liczby[10];
int kopia[10];

int parzyste()
{
    int ile = 0;
    for (int i = 0; i < 10; i++)
    {
        if ( liczby[i] % 2 == 0)
        cout <<  liczby[i] << " ";
        kopia[i]=liczby[i];
       ile++;
    }
    cout << endl;
return ile;
}

int nieparzyste()
{
   int ile=0;
    for (int i = 0; i < 10; i++)
    {
        if (liczby[i] % 2 == 1)
        cout << liczby[i] << " ";
        kopia[i]=liczby[i];
       ile++;
    }
    cout << endl;
return ile;
}

void ilosc()
{
    int a;
    a = sizeof(liczby) / sizeof(liczby[0]);
    cout << a;
}

int main()
{
    cout << "Wprowadz 10 liczb: " << endl;
    for (int i = 0; i < 10; i++)
    {
        cin >> liczby[i];
    }

    int a;
    cout << "[1] - Parzyste" << endl;
    cout << "[2] - Nieparzyste" << endl;
    cin >> a;
    if (a == 1)
    {
        cout << "Wprowadzono ";
        ilosc();
        cout << " liczb parzystych ";
        cout<<parzyste();
    }
    else
    {
        cout << "Wprowadzono ";
        ilosc();
        cout<<" liczb nieparzystych ";
        cout<<nieparzyste();
    }

    system("PAUSE");
}

Proszę bardzo program powinien już liczyć ilość liczb parzystych/nieparzystych. Jeśli będzie jakiś problem to pisz a ja się postaram w miarę moich możliwości pomóc.

Życzę miłego dnia.

0

Niestety caly czas pokazuje 10 i nie wiem jak to rozwiązać :(

0
#include <iostream>
#include <cstdlib>

using namespace std;

int liczby[10];
int kopia[10];

int parzyste()
{
    int ile = 0;
    for (int i = 0; i < 10; i++)
    {
        if ( liczby[i] % 2 == 0)
        {
        cout <<  liczby[i] << " ";
        kopia[i]=liczby[i];
       ile++;
       }
    }
    cout << endl;
return ile;
}

int nieparzyste()
{
   int ile=0;
    for (int i = 0; i < 10; i++)
    {
        if (liczby[i] % 2 == 1)
       {
        cout << liczby[i] << " ";
        kopia[i]=liczby[i];
       ile++;
       }
    }
    cout << endl;
return ile;
}

void ilosc()
{
    int a;
    a = sizeof(liczby) / sizeof(liczby[0]);
    cout << a;
}

int main()
{
    cout << "Wprowadz 10 liczb: " << endl;
    for (int i = 0; i < 10; i++)
    {
        cin >> liczby[i];
    }

    int a;
    cout << "[1] - Parzyste" << endl;
    cout << "[2] - Nieparzyste" << endl;
    cin >> a;
    if (a == 1)
    {
        cout << "Wprowadzono ";
        ilosc();
        cout << " liczb parzystych ";
        cout<<parzyste();
    }
    else
    {
        cout << "Wprowadzono ";
        ilosc();
        cout<<" liczb nieparzystych ";
        cout<<nieparzyste();
    }

    system("PAUSE");
}

Klamer przy if nie było. Jak coś proszę pisać.

0

A ja naiwny czekam, aż w C++ zaczną uczyć myślenia obiektowego.
Tablica "w stylu C" plus jej licznik to idealny pomysł na edukacyjną klasę.

0
rotonhageton napisał(a):
  • Do obliczania liczby liczb parzystych/nieparzystych napisz osobne funkcje, które zostaną wywołane z funkcji głównej programu(main)
  • Do wyświetlenia liczb parzystych/nieparzystych napisz osobne funkcje, które zostaną wywołane z funkcji głównej programu(main)

Dobrze rozumiem, że masz napisać cztery funkcje? parzyste()/nieparzyste()/licz_parzyste()/licz_nieparzyste()?
Przecież to jakiś absurd.

0

Na to wychodzi :/
Takie zadanie dostałem na studiach i chcę wiedzieć jak zrobić a że dopiero się uczę to nie takie łatwe..

0

No w końcu się udało :)
Pewnie da się to zrobić lepiej i szybciej, ale na początek ważne, że działa.
To, że trzeba zrobić 4 funkcje dało mi do myślenia więc dziękuje bardzo:)
Wstawiam kod jakby ktoś miał z tym problem w przyszłości:

#include <iostream>

using namespace std;

int liczby[10];

void parzyste()
{
	for (int i = 0; i < 10; i++)
	{
		if (liczby[i] % 2 == 0)
		{
			cout << liczby[i] << " ";	
		}
	}
	cout << endl;
}

void nieparzyste()
{
	for (int i = 0; i < 10; i++)
	{
		if (liczby[i] % 2 == 1)
		{
			cout << liczby[i] << " ";
		}
	}
	cout << endl;
}

int licz_parzyste()
{
	int ile = 0;
	for (int i = 0; i < 10; i++)
	{
		if (liczby[i] % 2 == 0)
		{
			ile++;
		}
	}
	return ile;
}

int licz_nieparzyste()
{
	int ile = 0;
	for (int i = 0; i < 10; i++)
	{
		if (liczby[i] % 2 == 1)
		{
			ile++;
		}
	}
	return ile;
}

int main()
{
	cout << "Wprowadz 10 liczb; " << endl;
	for (int i = 0; i < 10; i++)
	{
		cin >> liczby[i];
	}

	cout << "[1] - parzyste" << endl;
	cout << "[2] - nieparzyste" << endl;
	int a;
	cin >> a;
	if (a == 1)
	{
		cout << "Wprowadzono " << licz_parzyste() << " liczb parzystych: ";
		parzyste();
	}
	else
	{
		cout << "Wprowadzono " << licz_nieparzyste() << " liczb nieparzystych: ";
		nieparzyste();
	}

	system("PAUSE");
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1