wielofunkcyjny program :) proszę o pomoc !

1

witam :)
jestem studentem pierwszego roku politechniki łódzkiej.
uczę się programować niestety nie posiadam aż takiej wiedzy. Mógłby ktoś mi pomóc napisać taki program, jak niżej napisałem??? niestety kompletnie nie wiem jak go dokończyć. Program robiłem jeszcze na zajęciach z pomoc wykładowcy teraz bez pomocy jestem zielony czy mógłby ktoś powiedzieć, jak napisać program, który obliczy mi :
1.ilość elementów tablicy 4x4
2.zamieni elementy minimalne z maxymalnych
3.i połączy 2 tablice
jednym słowem, to czego jeszcze nie napisałem w moim programie:(((

#include <cstdlib>
#include <iostream>
#include <iostream>
#include <stdio.h>
using namespace std;
int a, b, c, i, j;
int tab [4][4];
void menu(void)
{

cout << "[1] - Wczytuje zawartosc tablicy el. typu int 4x4" << endl;
   cout << "[2] - Wyswietla zawartosc tablicy" << endl;
   cout << "[3] - Zamienia el. min z max." << endl;
   cout << "[4] - Liczy iloć elementów tablicy" << endl;
   cout << "[5] - Laczy 2 tabilce" << endl;
   cout << "[6] - Koniec" << endl;
}

void wczytaj_zawartosc_tablicy(void)
{
//cout << "Tutaj należy umiescic kod" << endl;
//cout << "Wczytujacy zawartosc tablicy typu int 4x4" << endl;
//cout << endl << endl;

cout << "Wprowadz 2 zmienne tablicy 4x4" << endl;
cout << "Wprowadz wartosc kolumny a = ";
cin >> a;
cout << "Wprowadz wartosc wiersza b = ";
cin >> b;
cout << "Wprowadz wartosc c = ";
cin >> c;

tab[b][a]= c;
}

void wyswietl_zawartosc_tablicy(void)
{
//cout << "Tutaj należy umiescic kod" << endl;
//cout << "Wyswietlajacy zawartosc tablicy typu int 4x4" << endl;
for(i=0; i<4; i++)
{
for(j=0;j<4;j++)
{
cout.width(4);
cout<<tab[i][j];

}
cout<<endl;
}

}

void zamienia_min_max(void)
{
//cout << "Tutaj należy umiescic kod" << endl;
//cout << "zamieniajacy el. min z max" << endl;
}
}

void liczy_elementy(void)
{
cout << "Tutaj należy umiescic kod" << endl;
cout << "liczacy elementy tablicy" << endl;
}

void laczy_2_tablice(void)
{
cout << "Tutaj należy umiescic kod" << endl;
cout << "laczacy 2 tablice" << endl;
}


int main() {
char c=0;
cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!

do
   {
menu();
c=getchar();
       switch( c )
       {
       case '1':
       	wczytaj_zawartosc_tablicy();
           break;

       case '2':
       	wyswietl_zawartosc_tablicy();
       	break;
       case '3':
           zamienia_min_max();
         break;
       case '4':
       	liczy_elementy();
       	break;
       case '5':
       	laczy_2_tablice();
       	break;


       default:
            break;
       } //switch
   } while( c != '6' );

cout <<"następuje zakonczenie programu" <<endl;
return 0;
}

usunięcie zbędnych pustych linii z kodu - fp

0

Czyli tak naprawdę nie napisałeś nic..., daj do działu praca to Ci zrobię^^

0

wystarczy użyć opcji szukaj. Albo googli i posiedzieć godzinę-dwie. Ale jak tak bardzo cenisz swój czas, by dawać komuś coś do zrobienia praktycznie od początku, to ceń również jego czas. Zapłać.

0

śmierdzi leniem.
Zapewne kod podany/podyktowany przez prowadzącego, a ty na zadanie masz go uzupełnić.

Jeśli chcesz pomocy to po pierwsze: daj jakiś bardziej sensowny tytuł wątku (nie taki błagalny, serwis nie stoi pod kościołem żeby tak żebrać).
Po drugie wytłumacz co znaczy "łączy tablice".
Po trzecie wykaż się inwencją.

1

no nie własnie :/ naprawdę nie potrafię pokaże wam co z tym kminie:)
int max,pozmaxi,pozmaxj,min,pozmini,pozminj;

int tab[4][4]={{1,-2,5,-1},
   {2,-2,5,4},
   {-1,3,-3,5},
   {4,1,-4,-5}};
   max=tab[0][0];
   min=tab[0][0];
   int i,j;
   for(i=0;i<4;i++)
   {
       for(j=0;j<4;j++)
       {
           if(tab[i][j]>max)
           {
               max= tab[i][j];
               pozmaxi=1;
               pozmaxj=1;

           }
       }
   }
   for(i=0;i<4;i++)
   {
       for(j=0;j<4;j++)
       {if(tab[i][j]<min)
       {
           min=tab[i][j];
           pozmini=i;
           pozminj=j;
       }
       }
   }
   cout<<"Przed zamiana:"<<endl;
     cout<<"max = "<<tab[pozmaxi][pozmaxj]<<" na pozycji "<<pozmaxi<<","<<pozmaxj<<endl;
     cout<<"min = "<<tab[pozmini][pozminj]<<" na pozycji "<<pozmini<<","<<pozminj;

     swap(tab[pozmaxi][pozmaxj],tab[pozmini][pozminj]);
     cout<<"\n\nPo zamianie miejscami:"<<endl;
       cout<<"max = "<<tab[pozmini][pozminj]<<" na pozycji "<<pozmini<<","<<pozminj<<endl;
       cout<<"min = "<<tab[pozmaxi][pozmaxj]<<" na pozycji "<<pozmaxi<<","<<pozmaxj;

nie wiem czy to w ogóle jakoś działa i czy to działa prawidłowo:)
mógłby mi ktoś przynajmniej wytłumaczyć, jak mam rozumieć zamiane min z max?? naprawdę mam problem siedze nad tym od rana
!

dodanie znaczników <code class="cpp"> - fp

0

No i o to chodzi, coś zrobiłeś!
Już widzę jeden oczywisty bład przy pozmaxi=1; i pozmaxj=1;

0

Przepraszam, jeśli powoli myślę, ale osobiście wydaje mi się że 1.ilość elementów tablicy 4x4 jest zawsze równa 16.

0

no ok, więc jak to powinno być?? pozmaxi=1; i pozmaxj=1;??

0

tak jest równa 16, ale to nie zalezy ode mnie po prostu kaprys wykładowcy :/nie wiem, jak to właściwie policzyć licbę wierszy razy liczbę kolumn :/

0

no własnie nie w poleceniu mam liczy ilość elementów tablicy

0

Czy w C++ jest coś takiego podobnego do Javy: tablica.length lub tablica.getSize()? Jeśli tak, to pseudokod:

int[][] a = new int[4][4];
int x = a.getSize();
int y = a[0].getSize();
int ilosc = x * y;

Przypominam, że tablica dwuwymiarowa to tak naprawdę zwykła tablica jednowymiarowa, w której każdym elementem jest również tablica.

0
ShookTea napisał(a):

Czy w C++ jest coś takiego podobnego do Javy: tablica.length lub tablica.getSize()? Jeśli tak, to pseudokod:

int[][] a = new int[4][4];
int x = a.getSize();
int y = a[0].getSize();
int ilosc = x * y;

Przypominam, że tablica dwuwymiarowa to tak naprawdę zwykła tablica jednowymiarowa, w której każdym elementem jest również tablica.

Nie można sprawdzić wymiarów wielowymiarowej tablicy. Musisz je przekazać jako argument funkcji, bądź zapisać gdzieś wcześniej. Więcej:
http://stackoverflow.com/questions/6934776/c-getting-the-row-size-of-a-multidimensional-array-passed-to-a-function

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