Neposlušná funkcia – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Neposlušná funkcia – C / C++ – Fórum – Programujte.comNeposlušná funkcia – C / C++ – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené.
Warlock510
Newbie
26. 7. 2011   #1
-
0
-

   

#include "stdafx.h"
#include <string>
#include <iostream>
#include <fstream>

using namespace std;

void QuickSort(int l, int h);
int Partition(int l, int h);

int main()
{
ifstream fin;
string str;
fin.open("cisla.txt");
int count=0;
for(;getline(fin,str)!=0;count++);
cout << "pocet riadkov: " << count;
cout << "\n";
	int *I = new int [count];
	int *pole = I;
	ifstream subor ("cisla.txt");
	for (int i=0;i<count;i++)
	{
		subor>>pole[i];
	}
	subor.close();
	
	QuickSort(0, count-1);

	ofstream subor2 ("output.txt");
	int a;
	for (a=0;a<count;a++)
	{
		subor2<<pole[a];
		subor2<<"\n";
	}
	subor2.close();
	delete[] pole;
	return 0;
}

void QuickSort(int l,int h)
{
      int pivot;
      if(l < h)
      {
            pivot = Partition(l ,h);
            QuickSort(l ,pivot - 1);
            QuickSort(pivot + 1, h);
      }
}

int Partition(int l, int h)
{
      int ht ,lt, pivot;
	  pivot = pole[l];
      while(h > l)
      {
            ht = pole[h];
			while(pivot < ht)
            {
                  if(h <= l) break;
                  h--;
                  ht = pole[h];
            }
            pole[l] = ht;
            lt = pole[l];
            while( pivot > lt)
            {
                  if(h <= l) break;
                  l++;
                  lt = pole[l];
            }
            pole[h] = lt;
      }
      pole[l] = pivot;
      return l;
}

Zdravím potrebujem poradiť:_) vo funkcii Partition je riadok pivot = pole[l]; keď to chcem skompilovať prekladač mi vypíše chybu že "pole" nieje definované zaujímalo by ma prečo ??  čumím nato a fakt ma nič nenapadlo :-(  Ďakujem :)

Nahlásit jako SPAM
IP: 95.102.233.–
KIIV
~ Moderátor
+43
God of flame
26. 7. 2011   #2
-
+1
-
Zajímavé

#1 Warlock51
protoze pole neni definovane...

mas ho jen lokalne ve funkci main ... ale volane funkce ho videt nemuzou

Nahlásit jako SPAM
IP: 94.112.35.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Warlock510
Newbie
26. 7. 2011   #3
-
0
-

jj to chapem ale mna by skôr zaujímalo ako tomu predísť?:) strčit jeho načítanie aj alokáciu do funkcie partition ?

Nahlásit jako SPAM
IP: 95.102.233.–
mrkyk
~ Anonymní uživatel
7 příspěvků
26. 7. 2011   #4
-
0
-

co třeba takhle ho definovat jako globální proměnnou? 

Nahlásit jako SPAM
IP: 78.156.141.–
KIIV
~ Moderátor
+43
God of flame
26. 7. 2011   #5
-
0
-

neni dobrej napad... co predavat i ten pointer na pole (resp ten pointer co mas v promenne "pole")?

Nahlásit jako SPAM
IP: 94.112.35.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Warlock510
Newbie
26. 7. 2011   #6
-
0
-

ten : *I ? inak vlakno nieje vyriešenie preklik :D

Nahlásit jako SPAM
IP: 95.102.233.–
gull
~ Anonymní uživatel
4 příspěvky
26. 7. 2011   #7
-
0
-

právě se vyřešilo, předáš funkci parametr pointer na pole, jak píše KIIV, a hotovo.

Nahlásit jako SPAM
IP: 217.115.249.–
Warlock510
Newbie
26. 7. 2011   #8
-
0
-

spravim vyhodí mi že všetko facha a potom pri spustení vypise linker toto: a nic nefacha :-(
Error 1 error LNK2019: unresolved external symbol "void __cdecl QuickSort(int,int)" (?QuickSort@@YAXHH@Z) referenced in function _main Testy.obj

Error 2 error LNK2019: unresolved external symbol "int __cdecl Partition(int,int)" (?Partition@@YAHHH@Z) referenced in function "void __cdecl QuickSort(int,int,int)" (?QuickSort@@YAXHHH@Z) Testy.obj

Error 3 fatal error LNK1120: 2 unresolved externals C:\Users\StaniQQ\Desktop\Testy\Debug\Testy.exe 1 

???

Nahlásit jako SPAM
IP: 95.102.233.–
KIIV
~ Moderátor
+43
God of flame
26. 7. 2011   #9
-
0
-

hod sem cos tam zprasil ... musis to zmenit na vic mistech.. v tech deklaracich, definicich a ve vsech volanich...+ samozrejme predavat  int * ne jen  int

Nahlásit jako SPAM
IP: 94.112.35.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Warlock510
Newbie
26. 7. 2011   #10
-
0
-


ok trochu som zamakal ale aj tak vypiše: pole is being used without being defined . ale počet riadkov zistit stihne ...

Nahlásit jako SPAM
IP: 95.102.233.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 81 hostů

Podobná vlákna

Funkcia v JS — založil DuDo

Funkcia — založil ukulele

Co je to inline funkcia? — založil Tom@sQo

Pomoc funkcia — založil bbeni

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý