|
|
|
| Здравствуйте.
Помогите разобраться(решить) с задачей.
Пользователь вводит некие числа предположительно тип float разделяя их пробелом.
Нужно загнать этот ввод в одномерный массив и потом определить минимальное и максимальное значения массива. Тип массива соответственно float, размер произвольный.
P.S. Прошу не судить за тупость Си только начал пытаться осваивать и то заочно. | |
|
|
|
|
|
|
|
для: hell_riser
(18.10.2007 в 23:53)
| | А обязательно пробелом разделять - символ перевода строки не пойдёт? | |
|
|
|
|
|
|
|
для: cheops
(19.10.2007 в 14:17)
| | В принципе, в условии не оговаривается чем будет разделяться. Пробел я указал просто для примера | |
|
|
|
|
|
|
|
для: hell_riser
(19.10.2007 в 14:40)
| | Допускается ли использование библиотеки STL? Следующая программа принимает числа типа float до тех пор, пока не будет введено отрицательное число и выводит максимальное и минимальное значение
#include <iostream>
#include <set>
using namespace std;
int main()
{
// Множество
multiset<float> coll;
float input;
try
{
// Читаем строки из стандартного потока
while(true)
{
cout << "Введите число ";
cin >> input;
if(input < 0) break;
coll.insert(input);
}
// Выводим минимальный элемент коллекции
cout << "Min = " << *coll.begin() << "\n";
// Выводим максимальный элемент коллекции
cout << "Max = " << *(--coll.end()) << "\n";
}
catch(bad_alloc)
{
cout << "Не удалось выделить память под коллекцию\n";
}
return 0;
} |
| |
|
|
|
|
|
|
|
для: cheops
(19.10.2007 в 16:26)
| | Вообще-то мне бы надо в С, а не С++ прошу прощения что сразу не сказал.
На сколько я смог понять вашь код, то у вас ввод и запись в массив происходят в цикле
т.е. по одному значению за раз. А можно ли строку вида 02,01 08,01 15,78 ,,,,,, загнать в массив. | |
|
|
|
|
|
|
|
для: hell_riser
(19.10.2007 в 17:58)
| | Нашёл тут в одном из постов такой код:
#include <iostream>
using namespace std;
int main()
{
char input[80];
char current[80];
int i, j;
cout << "Введите строку ";
fgets(input, 80, stdin);
for(i = 0; i < strlen(input); i++)
{
for(j = 0; input[i] != ' ' && input[i]; j++, i++)
{
current[j] = input[i];
}
current[j] = '\0';
cout << current << endl;
}
}
|
вроде похоже на разбиение строки по некоему разделителю в данном случае как раз пробел и запись в массив. Как бы его в С перевести(при условии что я правильно понял этот код). | |
|
|
|