У меня этот код. Пользователь должен ввести что-то вроде этого «10.0 10.0 4.0 7.0». И я хочу, чтобы моя программа помещала эти числа с плавающей запятой в массив, чтобы каждый из них был доступен через float [0] = 10.0, floats [1] = 10.0 floats [2] = 4.0 floats [3] = 7.0 , Я бы сделал их типы с плавающей запятой позже. В этом коде я пытаюсь использовать двумерный массив, но что-то определенно неправильно.Как извлечь пространственно разделенные плавающие числа из строки в другой массив в c?
Можете ли вы поставить меня на правильный путь?
#include <cs50.h>
#include <string.h>
#include <stdio.h>
#include <ctype.h>
int main(void)
{
// prompt the user to enter two inputs
string input1 = get_string();
// declare and initialize essential variables
int len1 = strlen(input1);
int j = 0;
// declare an array where the next lines of code should put floats separately
string floats[100][100];
// put each floating point number into an array character by character
for (int i = 0; i < len1; i++) {
if (isspace(input1[i])) {
j++;
} else {
floats[j][i] = input1[i];
}
}
}
'floats [j] [i]': использовать другую переменную вместо 'i'. или используйте 'strtok' и' strcpy'. – BLUEPIXY
Просто FYI. Если это для CS50x Coding Contest, вы действительно не должны запрашивать внешнюю помощь. Не большая часть конкурса, если кто-то другой решает его для вас. – curiouskiwi
Я на самом деле не собираюсь побеждать в этом конкурсе, я нахожусь только на опыте. 'strtod()' был вне моего знания, я никогда не использовал его и не мог найти его в Интернете. Поэтому я никогда не смогу решить это без помощи людей здесь. –