1

Тема: Поможіть з задачею C++

Спроектувати і реалізувати програму з наступними програмними функціями:
1) дозволяє користувачу увести з клавіатури елементи множин А, В, С.(діапазон допустимих значень задати самостійно);
2) виводить на екран ці множини у вигляді трьох рядків;
3) виконує розрахунки за  В∩(С∩А∩В); |A∩C|; 2^B;

2 Востаннє редагувалося Qwerty (28.04.2015 22:21:54)

Re: Поможіть з задачею C++

Ось код  на Паскалі,  а на C++ неполучається чомусь.

program setka;

uses
  crt;

const
  slovo = 'exit';

var
  i, k, n: integer;
  a: set of integer;
  b: set of integer;
  c: set of integer;
  y: set of integer ;

begin
 
  textbackground(15);
  clrscr;
  textcolor(0);
 
  writeln('ââåäiòü êiëüêiñòü åëåìåíòiâ 1-¿ ìíîæèíè');
  readln(n);
  for i := 1 to n do
  begin
    clrscr;
    writeln(i, '-é åëåìåíò');
    readln(k);
    a := a + [k];
    clrscr;
  end;
 
  writeln('ââåäiòü êiëüêiñòü åëåìåíòiâ 2-¿ ìíîæèíè');
  readln(n);
  for i := 1 to n do
  begin
    clrscr;
    writeln(i, '-é åëåìåíò');
    readln(k);
    b := b + [k];
    clrscr;
  end;
 
  writeln('ââåäiòü êiëüêiñòü åëåìåíòiâ 3-¿ ìíîæèíè');
  readln(n);
  for i := 1 to n do
  begin
    clrscr;
    writeln(i, '-é åëåìåíò');
    readln(k);
    c := c + [k];
    clrscr;
  end;
 
  writeln;
  writeln('A -', a:4);
  writeln('B -', b:4);
  writeln('C -', c:4);
  writeln;
 
  y := c * (a * b * c);
  writeln('1 - ', y);
  writeln;
 
  y := a * c - b;
  writeln('2 - ', y);
  writeln;
 
  y := c - [2];
  writeln('3 - ', y);
  writeln;
 
end.

3 Востаннє редагувалося vitia444 (28.04.2015 22:47:39)

Re: Поможіть з задачею C++

  a: set of integer;
  b: set of integer;
  c: set of integer;
  y: set of integer ;

Цього в С/С++ немає, але там є масиви, якщо Ви хочете на С++  - то просто після зчитування кількості елементів множини оголошуєте масив потрібної довжини

  y := a * c - b;
  writeln('2 - ', y);

мені здається, у завданні не це неписано...
 

  y := c - [2];
  writeln('3 - ', y);
  writeln;

 

аналогічно....

4 Востаннє редагувалося koala (29.04.2015 06:04:16)

Re: Поможіть з задачею C++

Use std::set, Luke...

5 Востаннє редагувалося Qwerty (29.04.2015 20:42:24)

Re: Поможіть з задачею C++

я зробив цю програму але як переробити її з динамічного масиву в такий як на паскалі через set

#include <iostream>
#include <conio.h>
#include <cstdlib>
using namespace std;
int color = system("color F0");
int main()
{
    setlocale(LC_ALL,"Rus");
    system("cls");
 int aN,bN,cN;

cout<<"Введiть кiлькiсть елементiв 1-ї множини:";
    cin>>aN;

    int *A=new int[aN];
    for(int i=0;i<aN;i++){
            system("cls");
        int z;
        cout << i+1 << "-й елемент"<<endl;
        cin>>z;
        A[i]=z;
        system("cls");
}


    cout<<"Введiть кiлькiсть елементiв 2-ї множини:";
    cin>>bN;
        int *B=new int[bN];

    for(int i=0;i<bN;i++)
        {
            system("cls");
        int z;
        cout << i+1 << "-й елемент"<<endl;
        cin>>z;
        B[i]=z;
        system("cls");
        }

    cout<<"Введiть кiлькiсть елементiв 3-ї множини:";
    cin>>cN;
int *C=new int[cN];

    for(int i=0;i<cN;i++)
        {
            system("cls");
        int z;
        cout << i+1 << "-й елемент"<<endl;
        cin>>z;
        C[i]=z;
        system("cls");
        }

cout<<"\nA:";
    for(int i=0;i<aN;i++)

        cout <<A[i]<<":";

    cout<<endl;
cout<<"\nB:";
    for(int i=0;i<bN;i++)
        cout<<B[i]<<":";
    cout<<endl;
cout<<"\nС:";
    for(int i=0;i<cN;i++)
        cout<<C[i]<<":";
    cout<<endl<<endl;

_getch();
  return 0;
}