Форум программистов, компьютерный форум CyberForum.ru

Дан массив из n целых чисел. До и после каждого числа, кратного 7, вставить число, равное 5 - C++

Восстановить пароль Регистрация
 
habi
0 / 0 / 0
Регистрация: 23.05.2012
Сообщений: 11
10.06.2012, 22:08     Дан массив из n целых чисел. До и после каждого числа, кратного 7, вставить число, равное 5 #1
через функцию
Дан массив из n целых чисел. До и после каждого числа, кратного 7, вставить число, равное 5.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2012, 22:08     Дан массив из n целых чисел. До и после каждого числа, кратного 7, вставить число, равное 5
Посмотрите здесь:

Дан массив из n целых чисел. До и после каждого числа, кратного 7, вставить число, равное 5 C++
Дан массив из n целых чисел. До и после каждого числа, кратного 7, вставить число, равное 5 C++
C++ Дан массив целых чисел,произвести для него следующие операции: для каждого из чисел ,входящего в массив,указать,сколько раз оно входит в массив...
C++ 11.196. Дан массив целых чисел. Найти номер первого элемента, кратного числу 13. Если таких элементов в массиве нет, то должно быть напечатано соответ
C++ Дан массив. Удалить из него нули и после каждого числа, оканчивающегося на 5, вставить 1

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
yleart
 Аватар для yleart
60 / 45 / 1
Регистрация: 07.10.2011
Сообщений: 139
10.06.2012, 22:28     Дан массив из n целых чисел. До и после каждого числа, кратного 7, вставить число, равное 5 #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
#include<iostream>
#include<ctime>
#include<cstdlib>
using namespace std;
const int n=100;
int main()
{
   int a[n];
   srandom(time(NULL));
   for(int i=0;i<n;++i)
   {
      a[i]=random()%100;
      if(a[i]%7)
      {
         if(i==0)
         {
            a[i+1]=5;
            ++i;
         }
         else if(i==n-1)
         {
            a[i-1]=5;
         }
         else
         {
            a[i-1]=5;
            a[i+1]=5;
         }
      }
   }
   return 0;
   
}
habi
0 / 0 / 0
Регистрация: 23.05.2012
Сообщений: 11
10.06.2012, 22:31  [ТС]     Дан массив из n целых чисел. До и после каждого числа, кратного 7, вставить число, равное 5 #3
компиляцию не проходит.
это через функцию??
habi
0 / 0 / 0
Регистрация: 23.05.2012
Сообщений: 11
10.06.2012, 22:33  [ТС]     Дан массив из n целых чисел. До и после каждого числа, кратного 7, вставить число, равное 5 #4
че то здесь не так.... только непонятно что

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <iostream>
 
using namespace std;
void vvod(int x[],int n);
int kol(int  x[],int n);
void print(int x[],int n);
int main()
{
    const int n=10;
    int x[2*n];
    int i, j, k;
    cout << "Input " << n << " numbers:";
    cin>>x[i];
    vvod(x,2*n);
int t=kol(&x[0],2*n);
print(x,t);
return 0;
}
void vvod(int x[],int n)
{
     int i;
     cout <<"Vvedite " << n*0.5 <<" chisel:"
 
<<endl;
     for(i=0;i<n*0.5;i++)
      {
       cin>>x[i];
      }
}
int kol(int  x[],int n,int 7)
{
   int i,j,k;
  k=n*0.5;
  for(i=0;i<k;i++)
    {
     j=k;
     if(x[i]/7)
     {
        for(;j>i;j--)
         x[j]=x[j-1];
         x[i]=5;
         k++;
         i++;
     }
     else if(x[i]/7)
 
   {
        for(;j>i+1;j--)
         x[j]=x[j-1];
         x[i+1]=5;
         k++;
         i++;
      }
 
   }
    return k;
}
void print(int x[], int n)
{
    int i;
   cout << "Otvet:" << endl;
   for(i = 0; i < n; i++)
     cout << x[i] << endl;
}
yleart
 Аватар для yleart
60 / 45 / 1
Регистрация: 07.10.2011
Сообщений: 139
10.06.2012, 22:34     Дан массив из n целых чисел. До и после каждого числа, кратного 7, вставить число, равное 5 #5
Компилится:
http://liveworkspace.org/code/fe7961...081058de1d9aa8
Попробуйте заменить #include<ctime> на #include<time.h>
#include<cstdlib> на #include<stdlib.h>
habi
0 / 0 / 0
Регистрация: 23.05.2012
Сообщений: 11
10.06.2012, 22:51  [ТС]     Дан массив из n целых чисел. До и после каждого числа, кратного 7, вставить число, равное 5 #6
не распознает srandom
yleart
 Аватар для yleart
60 / 45 / 1
Регистрация: 07.10.2011
Сообщений: 139
10.06.2012, 22:51     Дан массив из n целых чисел. До и после каждого числа, кратного 7, вставить число, равное 5 #7
Вот правильный компилируемый код:
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
40
41
#include<iostream>
#include<ctime>
#include<cstdlib>
using namespace std;
const int n=100;
int main()
{
   int a[n];
   srandom(time(NULL));
   for(int i=0;i<n;++i)
   {
      a[i]=random()%100;
     cout<<a[i]<<" ";
      if(!(a[i]%7)&&a[i]!=0)
      {
         if(i==0)
         {
            a[i+1]=5;
            ++i;
         }
         else if(i==n-1)
         {
            a[i-1]=5;
         }
         else
         {
            a[i-1]=5;
            a[i+1]=5;
         i++;
         }
      }
   }
   cout<<endl;
   for (int i=0;i<n;++i)
   {
   cout<<a[i]<<" ";
   }
   cout<<endl;
   return 0;
   
}
По вашей программе:
13 строка i не определена
Если вы хотите изменить массив в функции, то нужно использовать ссылку - &
Цитата Сообщение от habi Посмотреть сообщение
не распознает srandom
Подключите библиотеки stdlib.h и time.h
habi
0 / 0 / 0
Регистрация: 23.05.2012
Сообщений: 11
10.06.2012, 22:53  [ТС]     Дан массив из n целых чисел. До и после каждого числа, кратного 7, вставить число, равное 5 #8
желательно бы все это сделать через функцию, Vvod итд
yleart
 Аватар для yleart
60 / 45 / 1
Регистрация: 07.10.2011
Сообщений: 139
10.06.2012, 22:55     Дан массив из n целых чисел. До и после каждого числа, кратного 7, вставить число, равное 5 #9
Цитата Сообщение от habi Посмотреть сообщение
желательно бы все это сделать через функцию, Vvod итд
Удалите srandom и прикрутите функцию ввода
habi
0 / 0 / 0
Регистрация: 23.05.2012
Сообщений: 11
10.06.2012, 23:11  [ТС]     Дан массив из n целых чисел. До и после каждого числа, кратного 7, вставить число, равное 5 #10
не получается...
желательно сделать по типу неудачного примера см выше

Добавлено через 10 минут
yleart,

#include <iostream>

using namespace std;
void vvod(int x[],int n);
int kol(int x[],int n);
void print(int x[],int n);
int main()
{
const int n=10;
int x[2*n];
int i, j, k;
cout << "Input " << n << " numbers:";
cin>>x[i];
vvod(x,2*n);
int t=kol(&x[0],2*n);
print(x,t);
return 0;
}
void vvod(int x[],int n)
{
int i;
cout <<"Vvedite " << n*0.5 <<" chisel:"

<<endl;
for(i=0;i<n*0.5;i++)
{
cin>>x[i];
}
}
int kol(int x[],int n,int 7)
{
int i,j,k;
k=n*0.5;
for(i=0;i<k;i++)
{
j=k;
if(x[i]/7)
{
for(;j>i;j--)
x[j]=x[j-1];
x[i]=5;
k++;
i++;
}
else if(x[i]/7)

{
for(;j>i+1;j--)
x[j]=x[j-1];
x[i+1]=5;
k++;
i++;
}

}
return k;
}
void print(int x[], int n)
{
int i;
cout << "Otvet:" << endl;
for(i = 0; i < n; i++)
cout << x[i] << endl;
}

что не так здесь???
daslex
1084 / 494 / 101
Регистрация: 02.08.2011
Сообщений: 2,408
10.06.2012, 23:12     Дан массив из n целых чисел. До и после каждого числа, кратного 7, вставить число, равное 5 #11
этот же вопрос

напишите пожалуйста полностью Дан массив из n целых чисел. До и после каждого числа, кратного 7, вставить число, равное 5
g-h
67 / 67 / 1
Регистрация: 03.06.2012
Сообщений: 176
10.06.2012, 23:28     Дан массив из n целых чисел. До и после каждого числа, кратного 7, вставить число, равное 5 #12
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
40
41
42
43
#include "stdafx.h"
#include "iostream"
#include "ctime"
using namespace std;
 
const int arrSize = 10;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "russian");
 
    int arr[arrSize];
    srand( time(NULL) );
 
    cout << "Массив: " << endl;
    for (int i=0; i<arrSize; i++)
    {
        arr[i] = rand() % 100;
        cout << arr[i] << '\t';
    }
    cout << endl;
 
    for (int i=0; i<arrSize; i++)
        if ( arr[i] % 7 == 0 )
        {
            if (i == 0)
                arr[i+1] = 5;
            else
                if (i == arrSize - 1)
                    arr[i-1] = 5;
                else
                    arr[i-1] = arr[i+1] = 5;
        }
 
    cout << "Результат: " << endl;
    for (int i=0; i<arrSize; i++)
        cout << arr[i] << '\t';
 
 
    cout << endl;
    system("pause");
    return 0;
}
Yandex
Объявления
10.06.2012, 23:28     Дан массив из n целых чисел. До и после каждого числа, кратного 7, вставить число, равное 5
Ответ Создать тему
Опции темы

Текущее время: 19:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru