Jump to content

C programma ar masīvu aizveras uz DevC++


SLSK
 Share

Recommended Posts

Labdien!

 

Uzrakstīju programmu, kura apstrādā masīvu ar nejauši izvēlētiem skaitļiem, vai lietotāja ievadītiem. Problēma tāda, ka izstrāde notika uz Ubuntu kompilatoru, un viss strādāja.

 

Pārbaudot uz DevC++ programmu, sintakses kļūdas nebija, bet programma aizvērās brīdī, kad lietotājs izvēlējās 1 (automātiskā aizpilde) vai pēc manuālas masīvu vērtības ievades. Lūdzu paskatīt, kur varētu būt kļūda. Jau iepriekš - liels paldies!

 

#include <iostream>
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
#include <windows.h>
#include <math.h>
using namespace std;
int raditaji(int** mas,int x,int y)
{

 for(int i=0;i<x;i++)
 {
	 for(int j=0;j<y;j++)
	 {
	 cout<<**mas<<" ";
		 ++**mas;
	 }
		  cout<<endl;
 }
return 0;
   }
int mainigie(int** mas,int x,int y)
{
 for (int i=0;i<x;i++)
   {
   for(int j=0;j<y;j++)
   {
   mas[i][j]=rand()%10+1;
   cout<<mas[i][j]<<" ";
   }
 cout<<endl;
   }
return 0;
}

int main()
{


   srand ( time(NULL) ); 
   int x;
   int y;
   cout << "Autors: ..." << endl;
   cout << "Ievadiet masiva izmeru" <<endl;
   cout <<"X:";
   cin >> x;
   cout <<"Y:";
   cin >> y;
   int** masivs =new int* [x];
   for (int i=0;i<x;i++)
   {
    masivs[i]=new int[y];
   }
   cout << "Ievadiet 1 automatiskai masiva aizpildei"<<endl;
   cout << "Ievadiet 2 manualai masiva aizpildei" <<endl;
   int izvele;
   bool test=false;
   do{
   cin >> izvele;
   switch(izvele)
   {
   case 1: test=true;
   cout << "Masivs tiks aizpildits automatiski" <<endl;
   mainigie(masivs,x,y);
   break;
   case 2: test= true;
   cout << "Masivs tiks aizpildits manuali" <<endl;
   cout << "Ievadiet skaitlus lidz tiek pazinots, ka masivs ir aizpildits"<<endl;
   for (int i=0;i<x;i++)
   {
   for(int j=0;j<y;j++)
   {
   cin>> masivs[i][j];
   }
   }
   cout << "Masivs ir aizpildits"<<endl;
   cout << "Ievadita masiva uzvade"<<endl;
   raditaji(masivs,x,y);
   break;
   default: cout<< "Ievadita nepareiza izvele. Ludzu atkartot to" <<endl; break;
   }
}while(test!=true);
   cin.get();
   return 0;
}

Link to comment
Share on other sites

abanormal
(labots)

system("PAUSE"); , pieliec šo beigās , varbūt aizies?

Labots - abanormal
Link to comment
Share on other sites

Inspektors Caps

abanormal, nevis "varbūt aizies", bet viņam viss jau tagad strādā korekti. Vienkārši konsole aizveras līdz ar programmas beigām. Ja vēlas lai konsole neaizveras, vajag vai nu "cmd.exe" palaist manuāli un programmu darbināt no tās, vai pielikt beigās to pašu system("pause"); vai ko līdzīgu.

Link to comment
Share on other sites

Liels paldies! Tagad es tikai vienu nesaprotu, kāpēc zem Ubuntu kompilatora viss darbojas tāpat?

Link to comment
Share on other sites

japets

Kādēļ māte savu kaķi pabaro un paglauda, bet meita savējo tikai pabaro? Vai tas atkarīgs no kaķa?

Acīmredzot zem Ubuntu izstrādes vide palaižot programmu uzvedas mazliet citādāk.

Link to comment
Share on other sites

ja tu uz ubuntu palaid zem bash/sh tad tas ir tas pats kaa zem winda palaistu ieksh cmd - nekaada atshkjiriiba iisti nav

Link to comment
Share on other sites

Izveido kontu, vai pieraksties esošajā, lai komentētu

Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas

Izveidot jaunu kontu

Piereģistrējies un izveido jaunu kontu, tas būs viegli!

Reģistrēt jaunu kontu

Pierakstīties

Jums jau ir konts? Pierakstieties tajā šeit!

Pierakstīties tagad!
 Share

×
×
  • Izveidot jaunu...