Pereiti prie turinio

Masyvai, rasti nepasikartojančius skaičius


Rekomenduojami pranešimai

Labai paprasta.

Turi du masyvus. Viena su skaiciais, o kita tuscia i kuri desi nepasikartojancius.

Pereini kiekviena elementa is pirmojo masyvo ir JEI to elemento nera antrame, tuomet idedi ji ten.

Taip antrajame masyve bus tik nepasikartojantys:)

 

foreach (mas1 as item){

if (NOT is_in_array(item, mas2)){

mas2++item;

}

}

 

cia laisva forma parasiau:)

Redagavo maaz
Nuoroda į pranešimą
Dalintis kituose puslapiuose
#include <iostream>

using namespace std;


/**
 * Funkcija pravaro visa masyva ir tikrina ar yra masyve toks skaicius
 * @arr - masyvas
 * @number - ieskomas skaicius
 */
bool yra_masyve ( int arr[], int number ) 
{
 for ( int i = 0; i <= sizeof(arr)/sizeof(int); i++ )
 {
   if ( arr[i] == number )
   {
     return true;
   }
 }
 return false;
} 

int main() 
{
 // Pradinis masyvas
 int pasikartoja[] = {1,2,3,4,5,6,7,8,9,9};
 // Galutinis masyvas
 int nepasikartoja[];
 // Pravarom loop per visa masyvo ilgi
 for ( int i = 0; i <= sizeof(pasikartoja)/sizeof(int); i++ ) 
 {
   /** Tikrinam ar yra masyve
     */
   if ( ! yra_masyve ( nepasikartoja, pasikartoja[i] ) )
   {
     // Jeigu nera - itraukiam
     nepasikartoja[] = pasikartoja[i];
   } 
 }
 return 0;
}

Redagavo Dummas
Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • po 4 savaičių...

Kadangi Dummas variantas buvo nevisai geras, man asmeniškai klaidų išmesdavo kompiliatorius, pasidalinsiu su visais veikiančia programa, gal kam pravers ;)

 

#include <stdio.h>
#include <stdlib.h>

int main () {
       int mas[100], masg[100];
       int a,n,il,i,k,j, tinka;

   printf("Iveskite kiek bus masyvo elementu \n");
   scanf("%d",&n);
   for (i=1;i<=n;i++) {
       printf("Iveskite %d -aji masyvo elementa\n",i);
       scanf ("%d",&mas[i]);
   }
   printf("Ivestas masyvas yra toks: \n");
   for (i=1;i<=n;i++) {
       printf("%5d",mas[i]);
   }
   printf("\n");
   il=0;


   for (i=1;i<=n;i++)
{
	tinka=1;
       for (k=1;k<=n;k++)
		if(i != k)
			if(mas[i]==mas[k])
				tinka=0;
	if(tinka==1)
	{
		il++;
		masg[il]=mas[i];
	}
   }

   printf("Galutinis nepasikartojanciu skaiciu masyvas yra toks: \n");
   for (i=1;i<=il;i++) {
       printf("%5d",masg[i]);
   }
   printf("\n");
   return 0;
}

Redagavo snaip3ris
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...