Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [Visual Studio C]Errore strano nella compilazione

    Quando vado a compilare mi da questo errore:

    terms does not evaluate to a function taking 2 arguments.

    l'errore viene ripetuto in tutte le funzioni del programma.
    Queste funzioni servono per verificare l'efficenza degli algoritmi di ordinamento, sono state dichiarate in un file cpp allegato e i prototipi in un file .h incluso all'inizio.
    boh...


    Il form è questo:
    codice:
    #pragma once
    #include "mio.h"
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #include <windows.h>
    #include <string.h>
    
    
    namespace EfficenzaOrdinamenti {
    
    	using namespace System;
    	using namespace System::ComponentModel;
    	using namespace System::Collections;
    	using namespace System::Windows::Forms;
    	using namespace System::Data;
    	using namespace System::Drawing;
    
    	/// <summary>
    	/// Summary for Form1
    	///
    	/// WARNING: If you change the name of this class, you will need to change the
    	///          'Resource File Name' property for the managed resource compiler tool
    	///          associated with all .resx files this class depends on.  Otherwise,
    	///          the designers will not be able to interact properly with localized
    	///          resources associated with this form.
    	/// </summary>
    	public ref class Form1 : public System::Windows::Forms::Form
    	{
    	public:
    		Form1(void)
    		{
    			InitializeComponent();
    			//
    			//TODO: Add the constructor code here
    			//
    		}
    
    	protected:
    		/// <summary>
    		/// Clean up any resources being used.
    		/// </summary>
    		~Form1()
    		{
    			if (components)
    			{
    				delete components;
    			}
    		}
    	private: System::Windows::Forms::Button^  Start;
    	private: System::Windows::Forms::Label^  label1;
    
    	private: System::Windows::Forms::Label^  label2;
    
    	protected: 
    
    	protected: 
    
    	protected: 
    
    	protected: 
    
    
    	private: System::Windows::Forms::Label^  label3;
    	private: System::Windows::Forms::Label^  label4;
    	private: System::Windows::Forms::Label^  label5;
    	private: System::Windows::Forms::Label^  label6;
    	private: System::Windows::Forms::TextBox^  simpleSort;
    	private: System::Windows::Forms::TextBox^  selectionSort;
    	private: System::Windows::Forms::TextBox^  bubbleSort;
    	private: System::Windows::Forms::TextBox^  insertionSort;
    	private: System::Windows::Forms::TextBox^  quickSort;
    
    
    
    
    
    
    
    	private: System::Windows::Forms::TextBox^  num;
    	private: System::Windows::Forms::Label^  label7;
    	private: System::Windows::Forms::Label^  label8;
    
    
    	private:
    		/// <summary>
    		/// Required designer variable.
    		/// </summary>
    		System::ComponentModel::Container ^components;
    
    #pragma region Windows Form Designer generated code
    		/// <summary>
    		/// Required method for Designer support - do not modify
    		/// the contents of this method with the code editor.
    		/// </summary>
    		void InitializeComponent(void)
    		{
    			this->Start = (gcnew System::Windows::Forms::Button());
    			this->label1 = (gcnew System::Windows::Forms::Label());
    			this->label2 = (gcnew System::Windows::Forms::Label());
    			this->label3 = (gcnew System::Windows::Forms::Label());
    			this->label4 = (gcnew System::Windows::Forms::Label());
    			this->label5 = (gcnew System::Windows::Forms::Label());
    			this->label6 = (gcnew System::Windows::Forms::Label());
    			this->simpleSort = (gcnew System::Windows::Forms::TextBox());
    			this->selectionSort = (gcnew System::Windows::Forms::TextBox());
    			this->bubbleSort = (gcnew System::Windows::Forms::TextBox());
    			this->insertionSort = (gcnew System::Windows::Forms::TextBox());
    			this->quickSort = (gcnew System::Windows::Forms::TextBox());
    			this->num = (gcnew System::Windows::Forms::TextBox());
    			this->label7 = (gcnew System::Windows::Forms::Label());
    			this->label8 = (gcnew System::Windows::Forms::Label());
    			this->SuspendLayout();
    			// 
    			// Start
    			// 
    			this->Start->Location = System::Drawing::Point(86, 305);
    			this->Start->Name = L"Start";
    			this->Start->Size = System::Drawing::Size(129, 63);
    			this->Start->TabIndex = 0;
    			this->Start->Text = L"Start";
    			this->Start->UseVisualStyleBackColor = true;
    			this->Start->Click += gcnew System::EventHandler(this, &Form1::button1_Click);
    			// 
    			// label1
    			// 
    			this->label1->AutoSize = true;
    			this->label1->Location = System::Drawing::Point(47, 51);
    			this->label1->Name = L"label1";
    			this->label1->Size = System::Drawing::Size(57, 13);
    			this->label1->TabIndex = 1;
    			this->label1->Text = L"SimpleSort";
    			// 
    			// label2
    			// 
    			this->label2->AutoSize = true;
    			this->label2->Location = System::Drawing::Point(47, 91);
    			this->label2->Name = L"label2";
    			this->label2->Size = System::Drawing::Size(70, 13);
    			this->label2->TabIndex = 2;
    			this->label2->Text = L"SelectionSort";
    			// 
    			// label3
    			// 
    			this->label3->AutoSize = true;
    			this->label3->Location = System::Drawing::Point(47, 130);
    			this->label3->Name = L"label3";
    			this->label3->Size = System::Drawing::Size(59, 13);
    			this->label3->TabIndex = 3;
    			this->label3->Text = L"BubbleSort";
    			// 
    			// label4
    			// 
    			this->label4->AutoSize = true;
    			this->label4->Location = System::Drawing::Point(47, 168);
    			this->label4->Name = L"label4";
    			this->label4->Size = System::Drawing::Size(66, 13);
    			this->label4->TabIndex = 4;
    			this->label4->Text = L"InsertionSort";
    			// 
    			// label5
    			// 
    			this->label5->AutoSize = true;
    			this->label5->Location = System::Drawing::Point(47, 204);
    			this->label5->Name = L"label5";
    			this->label5->Size = System::Drawing::Size(54, 13);
    			this->label5->TabIndex = 5;
    			this->label5->Text = L"QuickSort";
    			// 
    			// label6
    			// 
    			this->label6->AutoSize = true;
    			this->label6->Location = System::Drawing::Point(47, 9);
    			this->label6->Name = L"label6";
    			this->label6->Size = System::Drawing::Size(85, 13);
    			this->label6->TabIndex = 6;
    			this->label6->Text = L"Numero di prove";
    			// 
    			// simpleSort
    			// 
    			this->simpleSort->Location = System::Drawing::Point(138, 48);
    			this->simpleSort->Name = L"simpleSort";
    			this->simpleSort->Size = System::Drawing::Size(100, 20);
    			this->simpleSort->TabIndex = 7;
    			// 
    			// selectionSort
    			// 
    			this->selectionSort->Location = System::Drawing::Point(137, 88);
    			this->selectionSort->Name = L"selectionSort";
    			this->selectionSort->Size = System::Drawing::Size(100, 20);
    			this->selectionSort->TabIndex = 8;
    			// 
    			// bubbleSort
    			// 
    			this->bubbleSort->Location = System::Drawing::Point(137, 127);
    			this->bubbleSort->Name = L"bubbleSort";
    			this->bubbleSort->Size = System::Drawing::Size(100, 20);
    			this->bubbleSort->TabIndex = 9;
    			// 
    			// insertionSort
    			// 
    			this->insertionSort->Location = System::Drawing::Point(137, 165);
    			this->insertionSort->Name = L"insertionSort";
    			this->insertionSort->Size = System::Drawing::Size(100, 20);
    			this->insertionSort->TabIndex = 10;
    			// 
    			// quickSort
    			// 
    			this->quickSort->Location = System::Drawing::Point(137, 201);
    			this->quickSort->Name = L"quickSort";
    			this->quickSort->Size = System::Drawing::Size(99, 20);
    			this->quickSort->TabIndex = 11;
    			// 
    			// num
    			// 
    			this->num->Location = System::Drawing::Point(138, 6);
    			this->num->Name = L"num";
    			this->num->Size = System::Drawing::Size(35, 20);
    			this->num->TabIndex = 12;
    			this->num->Text = L"1";
    			// 
    			// label7
    			// 
    			this->label7->AutoSize = true;
    			this->label7->Location = System::Drawing::Point(66, 238);
    			this->label7->Name = L"label7";
    			this->label7->Size = System::Drawing::Size(172, 13);
    			this->label7->TabIndex = 13;
    			this->label7->Text = L"Inserire numero di prove desiderato";
    			// 
    			// label8
    			// 
    			this->label8->AutoSize = true;
    			this->label8->Location = System::Drawing::Point(68, 260);
    			this->label8->Name = L"label8";
    			this->label8->Size = System::Drawing::Size(168, 13);
    			this->label8->TabIndex = 14;
    			this->label8->Text = L"(predefinito 1) quindi premere Start";
    			// 
    			// Form1
    			// 
    			this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
    			this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
    			this->ClientSize = System::Drawing::Size(290, 401);
    			this->Controls->Add(this->label8);
    			this->Controls->Add(this->label7);
    			this->Controls->Add(this->num);
    			this->Controls->Add(this->quickSort);
    			this->Controls->Add(this->insertionSort);
    			this->Controls->Add(this->bubbleSort);
    			this->Controls->Add(this->selectionSort);
    			this->Controls->Add(this->simpleSort);
    			this->Controls->Add(this->label6);
    			this->Controls->Add(this->label5);
    			this->Controls->Add(this->label4);
    			this->Controls->Add(this->label3);
    			this->Controls->Add(this->label2);
    			this->Controls->Add(this->label1);
    			this->Controls->Add(this->Start);
    			this->Name = L"Form1";
    			this->Text = L"Verifica efficenza algoritmi";
    			this->ResumeLayout(false);
    			this->PerformLayout();
    
    		}
    #pragma endregion
    	private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
    	
    	#define MAX 10000
    
    	float v[MAX], v2[MAX];
        float t0, t1, speed;
        int i, n, m;
    	m = MAX;
    
        time_t tempo;
        tempo = time (NULL);               
        srand ( tempo );
    
        for ( i=0; i<m ; i++ )                           
           v[i]= ((((float)rand())/RAND_MAX)*m);
    
    	n = Convert::ToInt32 ( num->Text );
    	
    	if ( n>1 ){
    
        //calcolo tempo simpleSort
    	for ( i=0 ; i<n ; i++ ) {
    		memcpy ( v2, v, m*sizeof(float) );
    		t0= GetTickCount();
    		simpleSort ( v2, m );
    		t1= GetTickCount();
    		speed += ( t1-t0 );
    	}
    	simpleSort->Text = Convert::ToString ( speed/(float)n );
    
    
    	//calcolo tempo selectionSort
    	for ( i=0 ; i<n ; i++ ) {
    	memcpy ( v2, v, m*sizeof(float));
        t0= GetTickCount();
        selectionSort ( v2, m );
        t1= GetTickCount();
    	}
    	selectionSort->Text = Convert::ToString ( speed/(float)n );
    	for ( i=0 ; i<n ; i++ ) {
        //calcolo tempo bubbleSort
    
        memcpy ( v2, v, m*sizeof(float));
        t0= GetTickCount();
        bubbleSort ( v2, m );
        t1= GetTickCount();
    	}
    	bubbleSort->Text = Convert::ToString ( speed/(float)n );
    
        //calcolo tempo insertionSort
    	for ( i=0 ; i<n ; i++ ) {
        memcpy ( v2, v, m*sizeof(float));
        t0= GetTickCount();
        insertionSort ( v2, m );
        t1= GetTickCount();
    	}
    	insertionSort->Text = Convert::ToString ( speed/(float)n );
    
        //calcolo tempo quickSort
    	for ( i=0 ; i<n ; i++ ) {
        memcpy ( v2, v, m*sizeof(float));
        t0= GetTickCount();
        quickSort ( v2, m );
        t1= GetTickCount();
    	}
    	quickSort->Text = Convert::ToString ( speed/(float)n );
    
    	}
    
    			 }
    };
    }






    Il file cpp eccolo:



    codice:
    #include "stdafx.h"
    
    void swap ( float*a, float*b ) {
    
    	  float help;
    	  help= *a;
    	  *a= *b;
    	  *b= help;
    }
    
    //simpleSort
    void simpleSort (float *v, int n ) {
    
    		int i, j;
    
    		for ( i=0 ; i<n ; i++ ) 
    		   for ( j=i+1; j < n ; j++)
    			  if ( v[i]>v[j] )
    				  swap ( &v[i],&v[j]);
    }
    
    
    //selectionSort
    void selectionSort( float *v, int n ) {
        int i, j, p;
        float min;
    
        for ( i=0; i<n-1 ; i++ ) {
           min = v[i];
           p = i;
           for ( j=i+1 ; j<n ; j++ )
              if (v[j]<min){
                 min = v[j];
                 p = j;
            }
           v[p] = v[i];
           v[i] = min;
    	}
    }
    
    //bubbleSort
    void bubbleSort( float *v, int n ) {
      int i, j, temp;
      int test;
      for ( i=n-1 ; i>0 ; i-- ) {
        test = 0;
    	for ( j=0 ; j<i ; j++ ) 
    		if ( v[j]>v[j+1] ) {
            swap ( &v[j], &v[j+1] );
            test = 1;
          }
        if ( test==0 ) break;
      } 
    
    }
    
    //insertionSort
    void insertionSort (float*v, int n) {
    
        int i, j;
        float app;
    
        for ( i=1 ; i<n ; i++ ) {
            app = v[i];
            j = i-1;
    		while ( (j>=0) && (v[j]>app) ) {
                v[j+1] = v[j];
                j--;
                }
                v[j+1] = app;
        }
    
    }
    
    
    //quickSort
    void sort( float *v, int beg, int end ) {
    	if ( end>beg+1 ) {
    		int piv = v[beg], l=beg+1, r=end;
    		while ( l<r ) {
    			if ( v[l]<=piv )
    				l++;
    			else
    				swap( &v[l], &v[--r] );
    		}
    		swap( &v[--l], &v[beg] );
    		sort( v, beg, l );
    		sort( v, r, end );
    	}
    }
    void quickSort( float *v, int n ) {
    	sort ( v, 0, n-1 );
    }




    E questo è il .h





    codice:
    void swap ( float*a, float*b );
    void simpleSort ( float *v, int n );
    void selectionSort ( float *v, int n );
    void bubbleSort ( float *v, int n );
    void insertionSort ( float *v, int n );
    void sort ( float *v, int beg, int end );
    void quickSort ( float *v, int n );


    HELPPPPPP
    Uscito di testa a causa dell'assemby

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Hai commesso due errori ...

    Hai usato un miscuglio di programmazione OO e con le vecchie "funzioni".

    Ad esempio, la

    simpleSort

    deve essere un membro private della classe Form1 ... e così per le altre funzioni.

    Inoltre hai chiamato allo stesso modo i textbox, ad esempio

    TextBox^ simpleSort

    e le stesse funzioni (meglio, metodi). Cambia il nome dei textbox o dei metodi.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    cambiando i nomi compila... però non funge... cmq dovrebbe essere scritto in C
    Uscito di testa a causa dell'assemby

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Non è in C, ma in C++.NET (managed).
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.