Просмотр полной версии : Задача по С++
Даны несколько названий веществ, их удельный вес и проводимость (пров-к, полупроводник, изолятор). Вывети названия вещества по указанной проводимости в порядке убывания.
Akademik_
12-03-2007, 20:00
а в контору для студентов?
.Duhless
12-03-2007, 21:14
сортируешь по указанной проводимости и всё. хелп рулит. яндекс тоже. запрос с++ сортировка.
Скорее всего придется создать массив.
Пан Барабан
12-03-2007, 21:53
пузырьковый алгоритм
Steel 40X
12-03-2007, 22:26
на си пузырег энто моветон :D
6лять, савсем сцуки, обленилисс
где ошибка, понять не могу?
#include <iostream.h>
#include<stdio.h>
#define N 200
struct veshestvo
{
char name[10];
double ves;
int prov;
}*vs;
void input (struct veshestvo vesh)
{
printf("Enter the name: ");
cin >>vesh.name;
printf("Ves ");
cin >>vesh.ves;
printf("Provodimost ");
cin >>vesh.prov;
};
void output(struct veshestvo vesh)
{
cout <<vesh.name;
}
#include <string.h>
#include <conio.h>
void main()
{
struct veshestvo vesh[N];
int n,i;
int pr;
printf("The number of strings: ");
cin >>n;
for (i=0; i<n;i++)
input(vesh[i]);
for (i=0;i<n;i++)
cout <<vesh[0].name;
printf("Provodimost: ");
cin >>pr;
cout <<pr<<endl;
/*
cout <<vesh[i].name;
if (vesh[i].prov==pr)
//output(vesh[i]);
cout <<"23"<<vesh[i].name;
getch();
/*
for (i=0;i<n;i++)
if (vesh[i].ves>k)
k=vesh[i].ves;
output(vesh[i],n);*/
}
в днк?
Что делает вот эта хрень может кто ответить? :) Не лазая по гуглу?
int i=4;
i= i++ * ++i;
printf("%d",i);
Нах путать принтф и сиаот?
Покажите мне где тута сортировка?
последнея часть в главной проге закомментена, и нет сортировки. :D
может поможешь? я тут честн слово них не понимию...
GuitariLLaz
14-03-2007, 20:04
напечатает 26
26 = (4+1)*5+1
ManInXRay
14-03-2007, 20:39
Имхо, по шагам:
- i=4
- i++ делает i=i+1 (i=5), возвращает значение до увеличения (4)
- ++i делает i=i+1 (i=6), возвращает значение после увеличения (6)
- i=4*6
- Печать i (24)
А вообще, так в программе писать не ст
оит ))
оО
Ваше сообщение слишком короткое. Оно должно быть не короче 5 символов.
ManInXRay
14-03-2007, 22:17
Перерыл я твой код, но компилятором ничего не стал проверять.
Листинг результата вышеупомянутой "медвежьей услуги" см. ниже ;)
NightDragon
14-03-2007, 22:21
+1
я чёт тож удивлён прям ...
девушка - программист ... никада не видал такого явления ... :rolleyes:
Я не существую!!!
Меня нет, я ничто.
ЗЫ УмниГи нашлись тут.
NightDragon
14-03-2007, 22:34
ну вот ... обиделась ...
мы ей комплименты ... а она обижается :(
ManInXRay, ага испугался, и где твой анекдот про женщин?
ManInXRay
14-03-2007, 23:51
После удаления Вами сообщения, явно свидетельствующего о Вашей принадлежности к классу "программист", вся цепочка моих offtopic-сообщений потеряла изначальную мотивацию :)
for(int pass=1; pass<arraysize; pass++)
for(int i=0; i < arraysize - 1; i++)
if(a[i]>a[i+1])
{
hold=a[i];
a[i]=a[i+1];
a[i+1]=hold;
}
это для одномерного.
а для многомерного(скажем 2х) алгоритм ты знаешь?
ManInXRay
15-03-2007, 00:10
Лично я знаком только с одномерной сортировкой. Для чего "многомерная" нужна и что она, вообще, из себя может представлять?
я не знаю правда! расскажи мне :D
ну какже... в екселе ниразу по двум или трем и т.д. столбцам не сортировал? :D
да пос ути так и выходит сортируют всегда по одному параметру, однако в этот алгоритм в общем виде можно загнать параметры необъходимых столбцов али строк.
в любой теории по базам данных сортировка по нескольким параметрам может производится.
а скажите кто знает алгоритмы решения матриц таких размеров , при которых обычные алгоритмы (например метод гаусса, где под главной диагональю остаются тока нули) перестают работать.
гаусс до 200 элементов тянет.
кто больше;)
слабый у тебя гаусс :D
расскажи лучше про многомерную сортировку :D
200*200 = 40000 , ели ты про это.
а по поводу многомерной кончай стебаться! сам алгоритмы валяй:D
сорок тысяч чего? рублей чтоли?)))
да не стебусь я... просто интересно :rolleyes:
ManInXRay
15-03-2007, 00:55
Сортировка там одномерной остается, просто в качестве элементов "массива" выступают записи, да и функция сравнения посложнее. Это в теории, а на практике для улучшения эффективности черт-те-что может быть наворочено :)
На больших размерностях накапливающиеся при расчетах ошибки округления становятся зело критичными. К примеру, если на компе сложить 100000000000 и 0.000000000001, может получиться 100000000000 вместо 100000000000.000000000001, что, в свою очередь, может непредсказуемо отразиться на итоговых результатах расчетов.
Смутно помню метод Крамера, в нем, вроде как, не столь быстро ошибки округления должны накапливаться (могу и ошибаться).
Один из методов повышения точности при вычислении суммы N чисел - предварительно отсортировать их и начинать суммирование от наименьших к большим.
зачем сортировать? используй fixed-point