Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Найти ошибку в коде массива (http://forum.oszone.net/showthread.php?t=289874)

artyomartemyev96 24-10-2014 00:12 2419613

Найти ошибку в коде массива
 
#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 2419617

Цитата:

Цитата artyomartemyev96
array[t]=array[w];
array[w]=array[t]; »

Спасибо, позабавило! :)
Воспользуйтесь еще одной переменной.
Например так
Код:

array[t]=i;
array[t]=array[w];
array[w]=i;


Iska 24-10-2014 06:02 2419644

Цитата:

Цитата lxa85
Например так
Код:

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 2419695

ой, да, разумеется!


Время: 12:09.

Время: 12:09.
© OSzone.net 2001-