PDA

Показать полную графическую версию : Найти ошибку в коде массива


artyomartemyev96
24-10-2014, 00:12
#include <stdio.h>
#include <conio.h>
#include<locale.h>
int main ()
{
setlocale(LC_ALL,"russian");
float array[1000], sum=0, min,max;
int i,n,p=1,k,w,t;
printf("Введите размерность массива\n");
scanf("%d",&n);
for (i = 0; i<n; i++)
{
printf("Число %d:", i+1);
scanf("%f", &array[i]);
}
for (i=0; i<n; i++)
sum+=array[i];
printf("Сумма чисел введеного массива = %d\n", sum);
for (i=0; i<n; i++)
p*=array[i];
printf("Произведение элементов массива = %d\n",p);
t=0;
min=array[0];
for (i=1; i<n; i++){
if (min> array[i])
min= array[i];
t=i;
}
printf("Минимальный элемент массива = %d\n", min);
w=0;
max= array[0];
for (i=1; i<n; i++)
{ if (max< array [i])
max= array [i];
w=i;
}
printf("Максимальный элемент массива = %d\n", max);
array[t]=array[w];
array[w]=array[t];
printf("Измененный массив:\n");
for (i = 0; i<n; i++)
{
printf("Число %d:%f.0\n",i+1,array[i]);
}
return 0;
}
Не меняет минимальный и максимальный элемент местами в чём ошибка?

lxa85
24-10-2014, 00:22
array[t]=array[w];
array[w]=array[t]; »
Спасибо, позабавило! :)
Воспользуйтесь еще одной переменной.
Например так
array[t]=i;
array[t]=array[w];
array[w]=i;

Iska
24-10-2014, 06:02
Например так
array[t]=i;
array[t]=array[w];
array[w]=i; »
Местами не попутаны?
TempVar=array[t];
array[t]=array[w];
array[w]=TempVar;

lxa85
24-10-2014, 09:23
ой, да, разумеется!




© OSzone.net 2001-2012