14 / 14 / 3
Регистрация: 19.09.2009
Сообщений: 289
1

Вставить число К перед всеми элементами массива, в котором есть 1

18.12.2009, 11:28. Показов 1503. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан Одномерный массив из 10 элементов.
Вставить число К перед всем элементами в кот есть 1(т.е. 21, 13, 110).

сделал, но неработает(

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
26
27
28
29
30
31
32
#include "stdafx.h"
#include "conio.h"
#include "time.h"
#include "stdlib.h"
 
int _tmain(int argc, _TCHAR* argv[])
{
int m[20],k=0,st=0,temp;
srand(time(NULL));
for(int i=0;i<10;i++)
m[i]=rand()%10;
/////ввод
 
for(int i=0;i<10;i++)
printf("%3d",m[i]);
 
 
printf("vvedite k");
scanf("%d",&k);
///Решение
for(int i=0;i<10;i++)
{if(m[i]==1 && m[i]%10==1)
{
    for(int j=20;j<i;j--)
        m[j++]=m[j];}
 
}
for(int i=0;i<10;i++)
printf("%3d",m[i]);
getch();
    return 0;
}
И еще задачка,

переставить первые три и последние три элементы местами, сохраняя их следование.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.12.2009, 11:28
Ответы с готовыми решениями:

Вставить число n между всеми соседними элементами массива с одинаковым знаком
Вставить число n между всеми соседними элементами, имеющими одинаковый знак. Каким должен быть...

Вставить по одному элементу перед всеми отрицательными элементами
Задание: заполнить файл с исходными данными. Результат выполнения задачи записать в новый...

Вставить заданное число в массив целых чисел перед последним четным элементом (если четные элементы есть)
Вставить заданное число в массив целых чисел перед последним четным элементом (если четные элементы...

Вставить число между элементами массива имеющими одинаковый знак
Вставить число n между всеми соседними элементами одномерного массива, имеющими одинаковый знак....

4
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
18.12.2009, 11:36 2
C
1
2
3
4
5
6
7
8
9
10
11
int kol=0;//количество таких элементов
for(int i=0;i<10+kol;i++)
{if(m[i]==1 && m[i]%10==1)
{
        for(int j=10+kol;j>=i;j--)
                m[j+1]=m[j];
                m[i]=k;
                kol++;
}
 
}
0
14 / 14 / 3
Регистрация: 19.09.2009
Сообщений: 289
18.12.2009, 12:36  [ТС] 3
неа, не работает,

Unhandled exception at 0x00000006 in vbc.exe: 0xC0000005: Access violation reading location 0x00000006.

Добавлено через 16 секунд
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
26
27
28
29
30
31
32
33
34
35
36
37
38
#include "stdafx.h"
#include "conio.h"
#include "time.h"
#include "stdlib.h"
 
int _tmain(int argc, _TCHAR* argv[])
{
int m[20],k=0,st=0,temp;
srand(time(NULL));
for(int i=0;i<10;i++)
m[i]=rand()%10;
/////ввод
 
for(int i=0;i<10;i++)
printf("%3d",m[i]);
 
 
printf("vvedite k");
scanf("%d",&k);
///Решение
 
int kol=0;//количество таких элементов
for(int i=0;i<10+kol;i++)
{if(m[i]==1 && m[i]%10==1)
{
        for(int j=10+kol;j>=i;j--)
                m[j+1]=m[j];
                m[i]=k;
                kol++;
}
 
}
 
for(int i=0;i<10;i++)
printf("%3d",m[i]);
getch();
    return 0;
}
Добавлено через 2 минуты
так вроде работает, но не правильно вставляет

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
26
27
28
29
30
31
32
33
34
35
36
37
38
#include "stdafx.h"
#include "conio.h"
#include "time.h"
#include "stdlib.h"
 
int _tmain(int argc, _TCHAR* argv[])
{
int m[20],k=0,st=0,temp;
srand(time(NULL));
for(int i=0;i<10;i++)
m[i]=rand()%10;
/////ввод
 
for(int i=0;i<10;i++)
printf("%3d",m[i]);
 
 
printf("vvedite k");
scanf("%d",&k);
///Решение
 
int kol=0;//количество таких элементов
for(int i=0;i<10+kol;i++)
{if(m[i]==1 && m[i]%10==1)
{
        for(int j=10+kol;j>=i;j--)
        {     m[j+1]=m[j];
        m[i]=k;}
                kol++;
}
 
}
printf("\n");
for(int i=0;i<10;i++)
printf("%3d",m[i]);
getch();
    return 0;
}
Добавлено через 40 минут
надо что-бы она то число не затирало, а вставляло перед ним.
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include "stdafx.h"
#include "conio.h"
#include "time.h"
#include "stdlib.h"
 
int _tmain(int argc, _TCHAR* argv[])
{
int m[20],k=0,st=0,temp;
srand(time(NULL));
for(int i=0;i<10;i++)
m[i]=rand()%10;
/////ввод
 
for(int i=0;i<10;i++)
printf("%3d",m[i]);
 
 
printf("vvedite k");
scanf("%d",&k);
///Решение
 
int kol=0;//количество таких элементов
for(int i=0;i<10+kol;i++)
{if(m[i]==1 && m[i]%10==1)
{ kol++;
 
        for(int j=10+kol;j>=i;j--)
        {     m[j+1]=m[j];
        m[i]=k;}
                
}
 
}
printf("\n");
for(int i=0;i<10;i++)
printf("%3d",m[i]);
getch();
    return 0;
}
0
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
18.12.2009, 12:45 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от BOR1K Посмотреть сообщение
(m[i]==1 && m[i]%10==1)
а может

if(m[i]==1 || m[i]%10==1) так

Добавлено через 1 минуту
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include "stdafx.h"
#include "conio.h"
#include "time.h"
#include "stdlib.h"
 
int _tmain(int argc, _TCHAR* argv[])
{
int m[20],k=0,st=0,temp;
srand(time(NULL));
for(int i=0;i<10;i++)
m[i]=rand()%10;
/////ввод
 
for(int i=0;i<10;i++)
printf("%3d",m[i]);
 
 
printf("vvedite k");
scanf("%d",&k);
///Решение
 
int kol=0;//количество таких элементов
for(int i=0;i<10+kol;i++)
{if(m[i]==1 || m[i]%10==1)
{ kol++;
 
        for(int j=10+kol;j>=i+1;j--)
                {     m[j]=m[j-1];
                m[i]=k;}
                
}
 
}
printf("\n");
for(int i=0;i<10;i++)
printf("%3d",m[i]);
getch();
        return 0;
}
0
14 / 14 / 3
Регистрация: 19.09.2009
Сообщений: 289
18.12.2009, 13:17  [ТС] 5
перед 1 к примеру ставит к, но еденицу и затирает, а надо что-бы не затирало.
0
18.12.2009, 13:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.12.2009, 13:17
Помогаю со студенческими работами здесь

Перед всеми глаголами в инфинитиве вставить отрицание "не"
Выдает ошибку: &quot;Необработанное исключение&quot; Вот задание: Превратить начальный текст таким образом:...

Вставить число k перед всеми элементами массива, в которых есть цифра 1
Привет всем помогите пожалуйста с 3 задачами по одномерным массивам. Дан массив целых чисел (n=10)...

Вставить число К перед всеми элементами массива, в которых есть цифра 1
Дан массив целых чисел из n элементов, заполненный случайным образом числами из промежутка ....

Вставить число k перед всеми элементами, в которых есть цифра 1
Дан одномерный массив целых чисел. Вставить число k перед всеми элементами, в которых есть цифра 1.


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

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

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