Массив: в массив из строки сложить числа в каждый элемент с 0 до 10 по 2 - C (СИ)

Узнай цену своей работы

Формулировка задачи:

у меня есть к примеру Char str[]="010203040506" int mas[10] мне нужно что бы в интовый массив из строки числа сложились в каждый элемент с 0 до 10 по 2 тоесть должно выйти mas[10] = {01, 02, 03, 04, 05, 06, 0, 0 ,0, 0} в c# это функция Substring а я не знаю как мне написать это

Решение задачи: «Массив: в массив из строки сложить числа в каждый элемент с 0 до 10 по 2»

textual
Листинг программы
char str[]="010203040506";
int mas[10];
char a[3]="";
 
int i;
for(i=0; i<10; i++) mas[i]=0;
for(int i=0; i<(int)strlen(str); i+=2) 
{
    memcpy(a,str+i,2);
    mas[i/2] = atoi(a);
}

Объяснение кода листинга программы

В этом коде:

  1. Создается массив mas типа int размером 10.
  2. В каждой ячейке массива mas инициализируется значение 0.
  3. Создается строка str размером 11 символов, содержащая числа от 0 до 10, каждое из которых занимает два символа.
  4. Создается строка a размером 3 символа.
  5. Происходит два цикла:
    • В первом цикле происходит заполнение массива mas значениями 0.
    • Во втором цикле происходит следующее:
      • В каждой итерации второго цикла происходит копирование двух символов из строки str в строку a.
      • Затем, используя функцию atoi, в соответствующую ячейку массива mas записывается числовое значение строки a.
      • Для записи числового значения в массив mas используется индекс, равный половине индекса строки str, с которой производятся манипуляции в этой итерации.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.929 из 5
Похожие ответы