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

В массивах А(10) и В(10) все элементы, предшествующие первому нулевому элементу, заменить на 0,5 - C++

Восстановить пароль Регистрация
 
Maira
Сообщений: n/a
28.04.2013, 14:58     В массивах А(10) и В(10) все элементы, предшествующие первому нулевому элементу, заменить на 0,5 #1
Здравствуйте. Не могли бы вы мне помочь? не могу составить программу на функции.
Задача. Даны два массива А(10),В(10).В массивах А(10) и В(10) все элменты предшествующие первому нулевому элементу заменить на 0,5.
Собственно я сделала ее,НО не по условию(не могу с использованием функции).

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
65
66
67
68
69
70
#include <iostream>
#include <math.h>
#include <conio.h>
# define N 10
int main(void)
{
 
int i, q, m1, m2;
float a[N], b[N];
system ("color 1a");
puts("\n\t RGR 1))");
puts("\n\t =================");
M3:
printf ("\n\t Vvedite elementi massiva a \n\t");
for(i=0; i<N; i++)
scanf(" %3f", &a[i]);
 
printf ("\n\t Vvedite elementi massiva b \n\t");
for(i=0; i<N; i++)
scanf("%3f", &b[i]);
 
for(i=0; i<N; i++)
if (a[i]==0)
{
m1=i;
break;
 
}
for(i=0; i<N; i++)
if (b[i]==0)
{
m2=i;
break;
}
 
for (i=0; i<m1; i++)
 
a[i]=0.5;
 
 
for (i=0; i<m2; i++)
 
b[i]=0.5;
 
 
printf("\n\t Preobrazovannie massivi \n\t");
for(i=0; i<N; i++)
printf(" %3.1f", a[i]);
printf("\n\t");
for(i=0; i<N; i++)
printf(" %3.1f", b[i]);
 
M5:
puts("\n\t ================================");
printf("\n\t Vi hotite viiti? yes - q=1, no - q=0");
printf ("\n\t q=");
scanf("%d" , &q);
if (q==1)
goto M4;
else
if (q==0)
goto M3;
else
printf("\n\t Vvedite 0 ili 1");
goto M5;
M4:
printf("\n\t Poka, Poka");
getch ();
return 0;
}
Спасибо заранее
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2013, 14:58     В массивах А(10) и В(10) все элементы, предшествующие первому нулевому элементу, заменить на 0,5
Посмотрите здесь:

Массивы: элементы массива с четными номерами, предшествующие первому максимальному элементу, умножить... C++
C++ Дан массив целых чисел из 10 элементов.Все элементы кратные 10 заменить 0;Все нечетные элементы удвоить, а четные уменьшить на 2;
Функции. массивах A(10) и B(10) все элементы предшествующие первому нулевому элементу заменить на 0,5 C++
Найти среднее арифметическое отрицательных элементов массива, предшествующих первому положительному элементу; проверить, упорядочены ли элементы по во C++
C++ Найти сумму и количество положительных элементов, предшествующих первому нулевому элементу массива
Все элементы массива, предшествующие минимальному, заменить на их квадраты C++
C++ Массивы: все элементы, кратные 10, заменить 0, все нечетные элементы удвоить, а четные уменьшить в 2 раза
Все элементы массива, предшествующие максимальному, установить равными минимуму (при определенном условии) C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GetVariable
 Аватар для GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
28.04.2013, 15:33     В массивах А(10) и В(10) все элементы, предшествующие первому нулевому элементу, заменить на 0,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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <iostream>
#include <algorithm>
 
void replacement_components(size_t index, double mas[]);
 
void print(size_t size, double mas[]);
 
int main()
{
    const size_t size = 10; 
 
    double a[size], b[size];
 
    for(size_t i = 0; i < size; ++i)
    {
        std::cout << "Enter " << i << " Element mass A: ";
        std::cin >> a[i];
    }
 
    for(size_t i = 0; i < size; ++i)
    {
        std::cout << "Enter " << i << " Element mass B: ";
        std::cin >> b[i];
    }
 
 
    double* begin_zero_by_a = std::find(a, a+size, 0);
    size_t index_zero_by_a = begin_zero_by_a - a;
 
    double* begin_zero_by_b = std::find(b, b+size, 0);
    size_t index_zero_by_b = begin_zero_by_b - b;
 
 
    replacement_components(index_zero_by_a, a);
    replacement_components(index_zero_by_b, b);
 
    std::cout << std::endl;
    print(size, a);
 
    print(size, b);
 
    return 0;
}
 
void replacement_components(size_t index, double mas[])
{
    for(size_t i = 0; i < index; ++i)
        mas[i] = 0.5;
}
 
void print(size_t size, double mas[])
{
    for(size_t i = 0; i < size; ++i)
        std::cout << mas[i] << " ";
 
    std::cout << std::endl;
}
Yandex
Объявления
28.04.2013, 15:33     В массивах А(10) и В(10) все элементы, предшествующие первому нулевому элементу, заменить на 0,5
Ответ Создать тему
Опции темы

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