101 lines
1.7 KiB
C
101 lines
1.7 KiB
C
#include<stdio.h>
|
|
|
|
typedef struct{
|
|
int length;
|
|
int elems[100];
|
|
}vector;
|
|
|
|
vector read(){
|
|
/*
|
|
:input:
|
|
|
|
:output:
|
|
vector v
|
|
|
|
:description:
|
|
return a vector of integer numbers read from the keyboard
|
|
*/
|
|
vector v;
|
|
v.length = 0;
|
|
while (scanf("%d", &v.elems[v.length]) && v.elems[v.length] != 0)
|
|
{
|
|
v.length++;
|
|
}
|
|
return v;
|
|
}
|
|
|
|
void printVector(vector v,int startI,int endI){
|
|
/*
|
|
:input:
|
|
vector v
|
|
int startI
|
|
int endI
|
|
:output:
|
|
void
|
|
|
|
:description:
|
|
print the elements of the vector v from startI (inclusive) to endI (exclusive)
|
|
*/
|
|
for (int i = startI; i < endI; i++)
|
|
{
|
|
printf("%d ", v.elems[i]);
|
|
}
|
|
printf("\n");
|
|
}
|
|
|
|
void printInstructions(){
|
|
printf("1. Read a vector\n");
|
|
printf("2. Print the sum of a sequence of numbers\n");
|
|
printf("3. Print the longest contiguous subsequence of equal numbers\n");
|
|
printf("0. Exit\n");
|
|
}
|
|
|
|
int sum_of_vector(vector v){
|
|
/*
|
|
:input:
|
|
vector v
|
|
:output:
|
|
int sum
|
|
|
|
:description:
|
|
return the sum of the elements of the vector v
|
|
*/
|
|
int sum = 0;
|
|
for (int i = 0; i < v.length; i++)
|
|
{
|
|
sum += v.elems[i];
|
|
}
|
|
return sum;
|
|
}
|
|
|
|
void waitForUserInput(){
|
|
vector v;
|
|
v.length = 0;
|
|
while(1){
|
|
printInstructions();
|
|
int option;
|
|
scanf("%d", &option);
|
|
switch (option)
|
|
{
|
|
case 1:
|
|
v=read();
|
|
break;
|
|
case 2:
|
|
break;
|
|
case 3:
|
|
break;
|
|
case 0:
|
|
return;
|
|
default:
|
|
printf("Invalid option\n");
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
int main(){
|
|
|
|
waitForUserInput();
|
|
|
|
return 0;
|
|
} |