전공/C

과제9 - Pointer Dynamic (1 ~ 5)

yha97 2021. 6. 22. 14:31

동적할당을 통해 일정 값을 입력받고 입력받은 수 중에서 최댓값을 출력하는 프로그램이다.

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

int main(){
	int n, i= 0; // declaring variables
	float largest ; // largest float
	printf("Enter the total number of elements: ");
	scanf("%d", &n); // enter size of inputs
	
	float* ptr = (float*)malloc(n*sizeof(int)); // declaring array with memory allocation
	
	for(i=0; i<n; i++){
		printf("Enter Number %d: ", i+1);
		scanf("%f", (ptr+i)); // entering numbers
		// finding largest number in entered values
		if(i == 0)
			largest = *(ptr+i);
		if(largest < *(ptr+i))
			largest = *(ptr+i);
	}
	// printing output
	printf("Largest number = %.2f", largest);
	
	free(ptr); // erasing allocatied memory
	
	return 0;
}

 

 

 

 

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

int main(){
	int n, i= 0; // declaring variables
	float largest ; // largest float
	printf("Enter the total number of elements: ");
	scanf("%d", &n); // enter size of inputs
	
	float* ptr = (float*)calloc(n, sizeof(int)); // declaring array with contiguous allocation
	
	for(i=0; i<n; i++){
		printf("Enter Number %d: ", i+1);
		scanf("%f", (ptr+i)); // entering numbers
		// finding largest number in entered values
		if(i == 0)
			largest = *(ptr+i);
		if(largest < *(ptr+i))
			largest = *(ptr+i);
	}
	// printing output
	printf("Largest number = %.2f\n", largest);
	
	free(ptr); // erasing allocatied memory
	
	return 0;
}

 

 

 

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

int main(){
	// declaring pointers for int, char, float
	int* ptr1;
	char* ptr2;
	float* ptr3;
	
	// allocating memory of int, char, float
	ptr1 = malloc(sizeof(int));
	ptr2 = malloc(sizeof(char));
	ptr3 = malloc(sizeof(float));
	
	// input each values
	printf("Enter integer value: ");
	scanf("%d", ptr1);
	getchar(); // to erase going new lines
	
	printf("Enter character value: ");
	scanf("%c", ptr2);
	getchar();
	
	printf("Enter float value: ");
	scanf("%f", ptr3);
	
	// printing output
	printf("Inputted value are: %d, %c, %.2f", *ptr1, *ptr2, *ptr3);
	
	// delete allocated memory
	free(ptr1);
	free(ptr2);
	free(ptr3);
	
	return 0;
}

 

 

 

 

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

int main(){
	int n = 0; // size of text
	printf("Enter limit of the text: ");
	scanf("%d", &n); // enter size of text
	getchar(); // erasing new line
	
	char* ptr = malloc((n+1)*sizeof(char)); // memory allocation of char type
	printf("Enter text: ");
	gets(ptr); // enter a sentence
	printf("Inputted text is: %s", ptr); // printing output
	
	free(ptr); // erasing allocated memory
	return 0;
}

 

 

 

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

int main(){
	int n, i, sum = 0;
	printf("Enter total number of elements: ");
	scanf("%d", &n); // enter size of array
	getchar();
	
	int arr[n]; // declaring one-dimensional array based on inputed size of array
	
	// enter n elements 
	printf("Enter %d elements:\n", n);
	for(i=0; i<n; i++){
		printf("Enter element %d: ", i+1);
		scanf("%d", &arr[i]);
		sum += arr[i]; // adding sum of elements whenever entering new element
	}
	printf("Array elements are: ");
	for(i=0; i<n; i++){
		printf("%d ", arr[i]); // printing all elements of array
	}
	
	printf("\nSum of all elements: %d", sum); // printing sum of all elements
	return 0;
}