Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[problem][c++]


Rekomendowane odpowiedzi

Opublikowano

Siema potrzebuję pomocy a konkretnie czy mógłby mi ktos wytłumaczyć linijka po linijce ten krótki kod w c+ a konkretnie sortowanie poprzez wstawianie ?

Nie chce linków na czym ono polega bo muszę je wytłumaczyć na podstawie takiego kodu

void wst( int tablica[], int ile )
{
	int tmp;
    for (int i=1;i<=ile+1;i++) 
{
for (int j=0;j<=i-1;j++)
{
if (tablica[j]<=tablica[i]) 
{
tmp=tablica[j];
tablica[j]=tablica[i];
tablica[i]=tmp;
}
}
}
}

Program działał na takiej zasadzie , że wprowadzało się liczy do tablicy a następnie na podstawie dwóch rodzajów sortowań liczby były sortowane od najmniejszej do największej i odwrotnie :)

 

Anyone can help ? ;>

POMÓGŁ CI MÓJ PORADNIK ? DAJ PLUS ! TO NIC NIE KOSZTUJE A MOTYWUJE DO DALSZEJ PRACY !

Opublikowano

Czy mógłby ktoś jeszcze wrzucić kod programu który polaga na :

-wpisywaniu liczb do tablicy

-tablica 1 zostaje przyrownana do tablicy 2

-wyswietlana jest tablica nr 2

 

WSZYSTKO NA WSKAŹNIKACH

 

Wydaje się łatwe ale za cholerę tego nie mogę ogarnąć i nie chce śmigać

POMÓGŁ CI MÓJ PORADNIK ? DAJ PLUS ! TO NIC NIE KOSZTUJE A MOTYWUJE DO DALSZEJ PRACY !

Opublikowano

WSZYSTKO NA WSKAŹNIKACH

Tablica to wskaźnik na pierwszy element tablicy :P

 

Wydaje się łatwe ale za cholerę tego nie mogę ogarnąć i nie chce śmigać

Pokaż co masz.

Nie pomagam na PW, od tego macie forum!!!

 

#PHP-things

 

 

08FMpDu.png

 

Opublikowano
#include <iostream>
using namespace std;

void wczytywanie(int ile, int *tab1[]){       // <---- ile jest globalne
	cout<<"\nIle liczb chcesz wprowadzic? ";
	cin>>**ile;
	ile--;
	cout<<"Podaj liczby:\n";
	int i=0;
	
	while( i<=*ile ){
		cin>>*tab1[i];
		i++;
	}	
}

void wypisanie(int *tab2[],int *ile){
	
	for(int i=0;i<=*ile;i++)
		cout<<*tab2[i]<<" ";
}


main(){
	cout<<"KOPIOWANIE\n";
	int *ile;
	int *tab1[100];
	int *tab2[200];
	 wczytywanie(*ile,*tab1);
	wypisywanie(*ile,*tab2);
}

Jestem początkujący więc proszę o wyrozumiałość nawet jeśli są jakieś tragiczne błędy xD Jakby mógł ktoś ogarnąc ten kod tak aby działał i wytłumaczył co jest zmienione dlaczego itd to byłbym wdzięczny ;)

 

P.S Za cholerę nie mogę ogarnąć wskaźników :(

POMÓGŁ CI MÓJ PORADNIK ? DAJ PLUS ! TO NIC NIE KOSZTUJE A MOTYWUJE DO DALSZEJ PRACY !

Opublikowano

Jakbyś wyrzucił WSZYSTKIE * to by zadziałało.

Jednak twój kod ma pare niedociągnięć takich jak np. gdy spróbujesz do tablicy tab1 wpisać ponad 100 liczb.

Podaj nam czy masz dokładne dane jak duże mają być te tablice, czy co ma nam powiedzieć o tym jakie mają być duże. Bo jeśli użytkownik ma podać ich wielkość to musisz je utworzyć dynamicznie i wtedy bez jawnego użycia wskaźników się nie obejdzie.

Opublikowano

Użytkownik określa rozmiar tablicy , wpisuje dane , dane są wrzucane do tablicy nr 1 która równa się tablicy nr 2 . Wyświetlona zostaje tablica nr 2 . Wszystko ma być zrobione na wskaźnikach ... I kod ma być dla programisty amatora czyli prosty jeśli można ;)

POMÓGŁ CI MÓJ PORADNIK ? DAJ PLUS ! TO NIC NIE KOSZTUJE A MOTYWUJE DO DALSZEJ PRACY !

Opublikowano

#include <iostream>

using namespace std;

 

void wczytywanie(const unsigned int rozmiar, int* tab){

for(unsigned int i = 0; i<rozmiar;++i) cin >> tab;

}

 

void wypisanie(const unsigned int rozmiar, int* tab){

for(unsigned int i = 0; i<rozmiar;++i) cout << tab << ' ';

}

 

int main(){ //main powinien zwracac wartosc typu int

cout<<"KOPIOWANIE\n";

unsigned int rozmiar;

int* tab1;

int* tab2;

cout<<"\nIle liczb chcesz wprowadzic? ";

cin >> rozmiar;

tab1 = new int[rozmiar];

tab2 = tab1;

cout<<"Podaj liczby:\n";

wczytywanie(rozmiar,tab1);

wypisywanie(rozmiar,tab2);

return 0;

}

Nie wiem jednak co chcesz kopiować w tym kodzie.

Opublikowano

Tzn wiesz co to polecenie jest głupio skonstruowane bo to niby ma być kopiowane z jednej tablicy do drugiej ale chodziło mi o to aby przypisać tablicę nr 1 do tablicy nr 2 i wyświetlić tablicę nr 2 bo wyjdzie na to samo :)

 

I kompilator wywala mi dość dziwny błąd o.O

In function int main()

[Error]Wypisywanie was not declaret in this scope

POMÓGŁ CI MÓJ PORADNIK ? DAJ PLUS ! TO NIC NIE KOSZTUJE A MOTYWUJE DO DALSZEJ PRACY !

Opublikowano

Ech dobra ... Nie zuważyłęm dzięki wielkie za pomoc :)

POMÓGŁ CI MÓJ PORADNIK ? DAJ PLUS ! TO NIC NIE KOSZTUJE A MOTYWUJE DO DALSZEJ PRACY !

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...