3 svar
76 visningar
Gabriel18 13
Postad: 23 dec 2022 22:13

Begränsning av array av siffror

Behöver hjälp med en uppgift jag har lyckats med allt som ska göras i uppgiften det enda problemet jag har är att begränsa min array så att den endast använder tal mellan 1 till 999. Här nedan visar jag frågan och min kod.

 

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


void sort(int array[], int size){

for(int i= 1; i<size-1; i++){

for(int j= 1; j<size-1; j++){

if(array[j]> array[j+1]){

int temp = array[j];

array[j] = array[j+1];

array[j+1] = temp;

}

}

}

}


void printArray(int array[], int size){

for(int i=1; i<size; i++){

printf("%d", array[i]);


printf("\t");

if(i % 5==0){

printf("\n");
}


}

}

 

int main(){

int n,x;

scanf("%d", &n);
x=n+1;
int array[x];

int kontroll=true;

if(x<=1000 && kontroll == true){


for(int i=1; i<x; i++){

scanf("%d", &array[i]);
}

for(int k=1; k<x; k++){

if(array[k] >1 && array[k]<999){

kontroll == true;

}else{

kontroll == false;

}

}
int size = x;

sort(array, size);

printArray(array, size);


}

 


return 0;

}

Laguna Online 30472
Postad: 23 dec 2022 22:48

Jag tolkar uppgiften som att du kan anta att programmet bara får tal mellan 1 och 999 som input. Med andra ord behöver programmet inte kolla det.

Menar de något annat är det dåligt uttryckt.

Gabriel18 13
Postad: 23 dec 2022 22:51
Laguna skrev:

Jag tolkar uppgiften som att du kan anta att programmet bara får tal mellan 1 och 999 som input. Med andra ord behöver programmet inte kolla det.

Menar de något annat är det dåligt uttryckt.

Nej de är att jag måste skriva kod som kontrollerar varje siffra så att endast tal mellan 1 till 999 används och om ett tal utanför intervallet skrivs in ska programmet avslutas utan att skriva ut något.

anders_k 237
Postad: 24 dec 2022 07:55 Redigerad: 24 dec 2022 08:04

Jag håller med Laguna, det låter som att du kan anta att värden ligger i intervallet [1,999] -- förmodligen för formateringens skull. De två input exempel har inte det du menar skall kollas. Borde inte det i så fall finnas med som en input/output exempel?

Sen borde du - om du envisas med att använda scanf - ha format specificeringen " %d" så att du skippar \n som ligger i stdin efter att du läst antalet nummer.

Svara
Close