Припрема за контролну вежбу из програмирања.
Област - низови
1. Учитати низ од n целобројних елемената (n<=100); Формирати нови низ, узимајући из првог низа само елементе дељиве са 3. Затим за нови низ израчунати аритметичку средину и одредити број елемената низа већих од аритметичке средине.
2. Учитати низ од n (n<=100) целобројних елемената. Пронаћи разлику између најмањег и највећег елемената. Приказати позиције у низу највећег и најмањег елемента.
3. Од два низа истих димензија формирати трећи низ, на следећи начин:
z[0]=x[0]+y[n-1]
z[1]=x[1]-y[n-1-1]
.
.
.
z[n-1]=x[n-1] ? y[0], gde ? predstavlja znak + ili -.
Решење 1. задатка:
#include <stdio.h>
main(){
int n, m=0, i, br=0, s=0, x[100], y[100];
double as;
scanf("%d", &n);
for(i=0; i<=n-1; i++)
scanf("%d", &x[i]);
for(i=0; i<=n-1; i++)
if (x[i]%3 == 0){
y[m]=x[i];
m++;}
for(i=0; i<=m-1; i++)
s=s+y[i];
as=s/m;
for(i=0; i<=m-1; i++)
if (y[i] > as)
br++;
for(i=0; i<=m-1; i++)
printf("%d", y[i]);
printf("\n aritmeticka sredina: %.2lf, broj vecih clanova: %d", as, br);
getch();
}
Решење 2. задатка:
#include <stdio.h>
main(){
int n, max, min, mmax, mmin, i, x[100]
scanf("%d", &n);
for(i=0; i<=n-1; i++)
scanf("%d", &x[i]);
min=x[0];
for(i=1; i<=n-1; i++)
if (x[i]< min){
min=x[i];
mmin=i;}
max=x[0];
for(i=1; i<=n-1; i++)
if (x[i]> max){
max=x[i];
mmax=i;}
r=max-min;
printf("\n Makismalna vrednost niza je %d, i nalazi se na poziciji %d", max, mmax);
printf("\n Minimalna vrednost niza je %d, i nalazi se na poziciji %d", min, mmin);
printf("\n Razlika najveceg i najmanjeg elementa niza je: %d", r);
getch();
}
Решење 3. задатка:
С обзиром да имате програмски код, неће бити тешко на основу њега нацртати и алгоритам. :)
#include <stdio.h>
main(){
int n, m=0, i, br=0, s=0, x[100], y[100];
double as;
scanf("%d", &n);
for(i=0; i<=n-1; i++)
scanf("%d", &x[i]);
for(i=0; i<=n-1; i++)
if (x[i]%3 == 0){
y[m]=x[i];
m++;}
for(i=0; i<=m-1; i++)
s=s+y[i];
as=s/m;
for(i=0; i<=m-1; i++)
if (y[i] > as)
br++;
for(i=0; i<=m-1; i++)
printf("%d", y[i]);
printf("\n aritmeticka sredina: %.2lf, broj vecih clanova: %d", as, br);
getch();
}
Решење 2. задатка:
#include <stdio.h>
main(){
int n, max, min, mmax, mmin, i, x[100]
scanf("%d", &n);
for(i=0; i<=n-1; i++)
scanf("%d", &x[i]);
min=x[0];
for(i=1; i<=n-1; i++)
if (x[i]< min){
min=x[i];
mmin=i;}
max=x[0];
for(i=1; i<=n-1; i++)
if (x[i]> max){
max=x[i];
mmax=i;}
r=max-min;
printf("\n Makismalna vrednost niza je %d, i nalazi se na poziciji %d", max, mmax);
printf("\n Minimalna vrednost niza je %d, i nalazi se na poziciji %d", min, mmin);
printf("\n Razlika najveceg i najmanjeg elementa niza je: %d", r);
getch();
}
Решење 3. задатка:
#include <stdio.h>
main(){
int n, j, i, x[100], y[100], z[100];
scanf("%d", &n);
for(i=0; i<=n-1; i++)
scanf("%d", &x[i]);
for(i=0; i<=n-1; i++)
scanf("%d", &y[i]);
for(i=0; i<n-1; i++){
if (i%2=0){
z[i]=x[i]+y[n-1-i];}
else{
z[i]=x[i]-y[n-1-i];}}
for(i=0; i<=n-1; i++)
printf("%d", z[i]);
getch();
}
main(){
int n, j, i, x[100], y[100], z[100];
scanf("%d", &n);
for(i=0; i<=n-1; i++)
scanf("%d", &x[i]);
for(i=0; i<=n-1; i++)
scanf("%d", &y[i]);
for(i=0; i<n-1; i++){
if (i%2=0){
z[i]=x[i]+y[n-1-i];}
else{
z[i]=x[i]-y[n-1-i];}}
for(i=0; i<=n-1; i++)
printf("%d", z[i]);
getch();
}
С обзиром да имате програмски код, неће бити тешко на основу њега нацртати и алгоритам. :)
Нема коментара:
Постави коментар
Напомена: Само члан овог блога може да постави коментар.