Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2013, 17:16   #1
serzmerz
 
Регистрация: 20.10.2013
Сообщений: 7
По умолчанию Исправте зацикленность

Дано два одноизмерных массива x[i] и y[i], ult i=1,2,... n. В массиве x[i] задано стаж работников предприятия а у массиве y[i]- соотвецтвенно размер их зарплаты. Упорядочить за убыванием информацию о стаже и соотвецтвенно етому зделать изменения в массиве y[i]
Код:
Код:
#include<stdio.h>
#include<conio.h>
#include<math.h>
main()
{int i, x[100], y[100], max,k,c=0,i2=0;
printf("vvedite i\n");
scanf("%i", &i);
printf("vvedire elem\n");
for(k=0;k<i;k++)
{printf("vvedite %i-u elem mas");
scanf("%i", &x[k]);
scanf("%i", &y[k]);}
while(i2!=i-1)
{i2=0;
for(k=0;k<i;k++)
{if(y[k]<y[k+1])
{c=y[k]=max;y[k]=y[k+1];y[k+1]=c;
c=x[k];x[k]=x[k+1];x[k+1]=c;}
else
{i2=i+1;
}}}
printf("mas x:");
for(k=0;k<i;k++)
{printf("%5i", x[k]);}
printf("mas y:\n");
for(k=0;k<i;k++)
{printf("%5i", y[k]);}
getch();
return(0);
}

Последний раз редактировалось Stilet; 09.11.2013 в 17:31.
serzmerz вне форума Ответить с цитированием
Старый 09.11.2013, 17:32   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А почему по разным массивам разведено? Почему не через struct?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.11.2013, 22:42   #3
serzmerz
 
Регистрация: 20.10.2013
Сообщений: 7
По умолчанию

Потому что это мой первый код с символьной строкой и я пока руководствуюсь елементарними функциями.
serzmerz вне форума Ответить с цитированием
Старый 09.11.2013, 23:01   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Первый - комом.
Иди учить структуры.
Вот как по идее сортир должен был выглядеть:
Код:
 for(int i=0;i<100;i++)
  for(int j=i;j<100;j++)
    if(x[i]<x[j]){
     int k=x[i];x[i]=x[j];x[j]=k; 
         k=y[i];y[i]=y[j];y[j]=k;
    }
Но еще раз повторюсь - это глупо.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
исправте ошибку saaa Общие вопросы C/C++ 4 21.12.2012 22:46
исправте 92Edik Паскаль, Turbo Pascal, PascalABC.NET 1 25.05.2011 08:47
Исправте ошибку Gleb7 Паскаль, Turbo Pascal, PascalABC.NET 0 06.12.2010 20:26
исправте ошибки dosha Помощь студентам 0 30.11.2010 22:51