Stranger
04.03.2009, 20:56
Տրված է մոտաղադրամներ, որոնցից մեկը կամ կեղծ է, կամ ոչ: Տրված է նաև մեկ լրացուցիչ իսկական մետաղդրամ և նժարավոր կշեռք: Պահանջվում է ամենաքիչ կշռումներով գտնել կեղծ մետաղադրամը: Ահա ծրագիրը, միայն թե մի քանի սխալ է տալիս :8 : Կստւգեք:
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
int main() {
clrscr();
int k, n, flag = -1;
int *mas;
printf("Ներածեք մետաղադրամների քանակը ");
scanf("%i", &n);
mas = (int*)malloc(sizeof(n));
randomize();
k = random (10) + 1;
for (int i = 0; i < n; i++) {
mas[i] = k;
}
for (i = k; i == k; i = random (20));
mas[random (n)] = i;
printf("Մետաղադրամի կշիռն է: ");
for (i = 0; i < n; i++) {
printf("%5i", mas[i]);
if (mas[i] != k) {
flag = i;
}
}
printf("\nԿեղծ մետաղադրամը %i համարի մետաղադրամն է, այն կշռւմ է %i", flag+1,
mas[flag]);
getch();
free(mas);
return 0;
}
Շնորհակալություն:hands
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
int main() {
clrscr();
int k, n, flag = -1;
int *mas;
printf("Ներածեք մետաղադրամների քանակը ");
scanf("%i", &n);
mas = (int*)malloc(sizeof(n));
randomize();
k = random (10) + 1;
for (int i = 0; i < n; i++) {
mas[i] = k;
}
for (i = k; i == k; i = random (20));
mas[random (n)] = i;
printf("Մետաղադրամի կշիռն է: ");
for (i = 0; i < n; i++) {
printf("%5i", mas[i]);
if (mas[i] != k) {
flag = i;
}
}
printf("\nԿեղծ մետաղադրամը %i համարի մետաղադրամն է, այն կշռւմ է %i", flag+1,
mas[flag]);
getch();
free(mas);
return 0;
}
Շնորհակալություն:hands