`
SLSK

C programma ar masīvu aizveras uz DevC++

6 posts in this topic

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;
}

Share this post


Link to post
Share on other sites

(labots)

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

Labots - abanormal

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
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

Share this post


Link to post
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!

  • Kas ir tiešsaistē   16 biedri, 0 Anonīmi, 16 viesi (Skatīt pilnu sarakstu)

    • VebKamera
    • pw1a
    • rubb
    • MYKE
    • Maksim
    • shadow118
    • Drakiyo
    • Rudiger
    • Didzis
    • burunduks555
    • Kaspars12
    • V.S.
    • jacobs
    • constrig
    • viseenslv
    • Eriks_P
  • Biedru statistika

    22 437
    Kopā biedri
    456
    Bieži tiešsaistē
    Justin
    Newest Member
    Justin
    Pievienojies