2 / 2 / 1
Регистрация: 30.10.2013
Сообщений: 17
1

В массиве A[m] каждый второй элемент заменить произведением двух предыдущих

31.10.2013, 00:01. Показов 2370. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите разобраться что я делаю не так. Я пока не делаю запись массива в файл, разбираюсь как сделать само задание.
Задание: В массиве A[m] каждый второй элемент заменить произведением двух предыдущих.
Дополнительный массив не использовать. Вывести на экран и в файл исходный массив А, полученный массив А.

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
#include "stdafx.h"
#include<iostream>
#include <conio.h>
using namespace std;
const int m=9;
int func (int arr[m])
{
    for(int i=3; i<m; i+2)
        arr[i]=(arr[i-2]*arr[i-1]);
    return 0;
};
int main()
{
    setlocale (LC_ALL, "Russian");
    int A[m];
    printf("Введите массив из %d целых чисел: \n", m+1);
    for(int i=0; i<m; i++)
        scanf("%d ",&A[i]);
    printf("\n Исходный массив: ");
    for (int i=0;i<m;i++)
        printf("%d ",A[i]);
    printf("\n Полученный массив: ");
    func(A);
    for(int i=0;i<m; i++)
        printf("%d ",A[i]);
    getch();
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.10.2013, 00:01
Ответы с готовыми решениями:

В массиве C (m) каждый третий элемент заменить полусумму двух предыдущих
Реализовать программу вычисления суммы элементов матрицы: В массиве C (m) каждый третий элемент...

В массиве C (m) каждый третий элемент заменить на полусумму двух предыдущих элементов
Что не так? #include&lt;conio.h&gt; #include&lt;windows.h&gt; #include&lt;stdlib.h&gt; #include&lt;stdio.h&gt; int...

В массиве каждый третий элемент заменить полусуммой двух предыдущих (с использованием указателей)
Заранее большое спасибо.(написать программу с использованием указателей)

массиве А(n) каждый элемент, заменить суммой всех предыдущих элементов первый заменить на 0
помогите пожалуйста! Например, в массиве 5 чисел: 1,2,3,4,5 Они должны заменяться таким образом: A...

2
2 / 2 / 1
Регистрация: 30.10.2013
Сообщений: 17
31.10.2013, 21:47  [ТС] 2
Разобрался в задаче. Ошибка оказалась в условии цикла, который находится в функции. Дописал полностью код с записью в файл. Может понадобится кому-нибудь.
Есть нюанс который не могу исправить, когда ввожу элементы массива, то ввожу 10 элементов, а выводится и записывается в файл только 9, как исправить ???
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
/*В массиве A[m] каждый второй элемент заменить произведением двух предыдущих.
Дополнительный массив не использовать. Вывести на экран и в файл исходный массив А, полученный массив А.
*/
#include "stdafx.h"
#include<iostream>
#include <conio.h>
using namespace std;
const int m=9;
void func (int arr[m])
{
    for(int i=3; i<m; i=i+2)
        arr[i]=(arr[i-2]*arr[i-1]);
}
void main()
{
    setlocale (LC_ALL, "Russian");
    int A[m];
    FILE*file;
    printf("Введите массив из %d целых чисел: \n", m+1);
    for(int i=0; i<m; i++)
        scanf("%d ",&A[i]);
    printf("\n Исходный массив: ");
    for(int i=0; i<m; i++)
        printf("%d, ",A[i]);
    file=fopen("text.txt","w");
    fprintf(file,"Исходный массив: ");
    for (int i=0;i<m;i++)
        fprintf(file,"%d, ",A[i]);
    fprintf(file,"\n");
    fclose(file);
    printf("\n Полученный массив: ");
    func(A);
    for(int i=0; i<m; i++)
        printf("%d, ",A[i]);    
    file=fopen("text.txt","a");
    fprintf(file,"Полученный массив: ");
    for(int i=0;i<m;i++)
        fprintf(file,"%d, ",A[i]);
    fclose(file);
    getch();
}
Миниатюры
В массиве A[m] каждый второй элемент заменить произведением двух предыдущих   В массиве A[m] каждый второй элемент заменить произведением двух предыдущих  
0
21 / 21 / 3
Регистрация: 29.04.2012
Сообщений: 214
01.11.2013, 00:23 3
ve1c0m, если вы включите отладчик и посмотрите что хранится в массиве А и сколько в нем элементов, то увидите все. последнюю ячейку массив хранит для обозначения конца строки.
1
01.11.2013, 00:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.11.2013, 00:23
Помогаю со студенческими работами здесь

Заменить каждый третий элемент массива на сумму двух предыдущих
В Массиве С(m) заменить каждый третий элемент на сумму двух предыдущих.

В массиве Q(n,m) заменить каждый отрицательный элемент произведением его индексов
В массиве Q(n,m) заменить каждый отрицательный элемент произведением его индексов.

В массиве А(n) каждый элемент, кроме первого, заменить суммой всех предыдущих элементов
помогли пожалуйста. мне помогли написать программу, но не совсем правильно, не могли бы помочь...

В массиве A(n) каждый элемент, кроме первого, заменить суммой всех предыдущих элементов
Требуется написать программу в Лазарус. В массиве A(n) каждый элемент, кроме первого, заменить...

В массиве A (n) каждый элемент, кроме первого заменить суммой всех предыдущих элементов
В массиве A (n) каждый элемент, кроме первого заменить суммой всех предыдущих элементов. Как...

в массиве А(n) каждый элемент, кроме первого, заменить суммой всех предыдущих элементов
Помогите, пожалуйста!!! Нужно решить задачу: в массиве А(n) каждый элемент, кроме первого, заменить...


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

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

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