Заблокирован
1

Копирование значений массива

29.10.2019, 23:25. Показов 2114. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Почему одно число копирует во все регистры второго массива?



C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
int main(void) {
 
int j = 0;
int i = 0;
int mas[6] = {1, 2, 3, 4, 5, 6,};
int mas2[3] = {0, 0, 0};
 
 
for(; i <= 5; i++) {
 if(mas[i] <= 3) {
  continue;
 }
 else {
   for(; j <= 2 ; j++) {
    mas2[j] = mas[i];
    printf("%d", mas2[j]);
  }
 }
}
 
return 0;
 
}
 
// Итог: 444
это как-то с верхним циклом связано?

A так нор работает

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int main(void) {
 
int j = 0;
int i = 0;
int mas[6] = {1, 2, 3, 4, 5, 6,};
int mas2[3] = {0, 0, 0};
 
 
for(; i <= 5; i++) {
 if(mas[i] <= 3) {
  continue;
 }
 else {
   printf("%d", mas[i]);
 }
}
 
 
return 0;
 
}
 
// Вывод: 456
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.10.2019, 23:25
Ответы с готовыми решениями:

Копирование значений одного массива в другой
Здравствуйте! В общем проблема просто детская, но она ввела в ступор. Задача проста: скопировать...

Копирование положительных значений из массива в массив
всем привет! помогите пожалуйста с задачей: задаются два одномерных целочисленных массива &quot;a&quot;, &quot;b&quot;...

Получение массива значений по критерию и копирование его на лист
Доброго времени суток! :) Уважаемые. Пожалуйста помогите решить задачу? Есть табличка; В первом...

Копирование значений
Форумчане, добрый день. Возникла проблема: при переносе значений с одного листа на другой...

6
Почетный модератор
7390 / 2636 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
29.10.2019, 23:30 2
Потому что во вложенном цикле
Цитата Сообщение от sodda Посмотреть сообщение
for(; j <= 2 ; j++)
mas[i] не меняется.
0
Заблокирован
29.10.2019, 23:41  [ТС] 3
Цитата Сообщение от Vourhey Посмотреть сообщение
mas[i] не меняется
почему? потому что верхний цикл продолжает копировать одно число?
0
Почетный модератор
7390 / 2636 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
29.10.2019, 23:46 4
Лучший ответ Сообщение было отмечено sodda как решение

Решение

Цитата Сообщение от sodda Посмотреть сообщение
почему? потому что верхний цикл продолжает копировать одно число?
Потому что в цикле
Цитата Сообщение от sodda Посмотреть сообщение
for(; j <= 2 ; j++) {
индекс i не меняется. "верхний" цикл ничего не меняет, пока работает внутренний. Соответственно mas[i] на все время выполнения внутреннего цикла один и тот же.
Научись работать с отладчиком. И жизнь станет проще.
Если все еще не понятно, почему так, то сделай вывод индекс i прям во вложенном цикле и посмотри, какие он значения принимает.
0
Заблокирован
30.10.2019, 00:01  [ТС] 5
Цитата Сообщение от Vourhey Посмотреть сообщение
индекс i не меняется. "верхний" цикл ничего не меняет, пока работает внутренний.
вот без внутренего цикла

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
int main(void) {
 
int j = 0;
int i = 0;
int mas[6] = {10, 20, 30, 40, 50, 60,};
int mas2[3] = {0, 0, 0};
 
 
for(; i <= 5; i++) {
 if(mas[i] <= 30) {
  continue;
 }
 else {
    mas2[j] = mas[i];
    printf("mas2 = %d\n", mas2[i]);
    printf("j = %d\n", j);
    j+=1;
   }
 }
 
 
return 0;
 
}
Копирует первые три значения, хотя должен пропускать
0
Почетный модератор
7390 / 2636 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
30.10.2019, 00:05 6
Цитата Сообщение от sodda Посмотреть сообщение
Копирует первые три значения, хотя должен пропускать
А почему ты записываешь mas2[j] а выводишь mas2[i]? Ты очень невнимателен.
1
Заблокирован
30.10.2019, 00:16  [ТС] 7
Цитата Сообщение от Vourhey Посмотреть сообщение
А почему ты записываешь mas2[j] а выводишь mas2[i]? Ты очень невнимателен.
Блин, и правда. Да я сплю уже

Добавлено через 1 минуту
Цитата Сообщение от Vourhey Посмотреть сообщение
Ты очень невнимателен.
просто это не lisp)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.10.2019, 00:16
Помогаю со студенческими работами здесь

Поиск и копирование значений
есть две таблицы таб 1 и таб 2 в таб 1 необходимо скопировать значение определенной яцейки потом...

Копирование значений в Ecxel
Здравствуйте! Нужно чтобы значения ячеек столбцов E, F и G листа &quot;16&quot; с помощью макроса...

Копирование значений макросом
Добрый день, помогите решить задачу. Есть Таблица А из 6 столбцов. Требуется автоматическое запуск...

Неправильное копирование значений
Создал 2 таблицы на 2-х листах в эксель. Написал модуль который берет значение из Листа1 2 столбца...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru