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

Помогите с решением задачи.В одномерном (динамическом)массиве заменить последний из нулевых элементов на три нуля.(С++) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывод в Edit массивов http://www.cyberforum.ru/cpp-beginners/thread360009.html
Всем доброго времени суток. Посмотрите есть вот такой код: int num,o; char buff; num = StrToInt(Edit23->Text); o = StrToInt(Edit24->Text); itoa(num,buff,o); Edit25->Text=IntToStr(buff); эта программка переводит из 10-ой системы исчисления в другую, так вот проблема с выводом (Edit25->Text=IntToStr(buff)) как я понимаю buff это массив, и после перевода он выводит в окно только значение...
C++ Размещение map'а в памяти Элементы вектора гарантировано размещаются в памяти рядом, в случае списка элементы лежат где попало, но для этого есть прямые и обратные ссылки у элементов того же списка... Вопрос - а как размещаются элементы того же std::map?, знаю что каждый элемент представляет пару, но как именно в памяти они размещаются не очень Спасибо :) http://www.cyberforum.ru/cpp-beginners/thread360006.html
C++ Перевод температуры из градусов по шкале Цельсия в градусы по шкале Фаренгейта
Приветствую, помогите пожалуйста ребяят ) срочно нужна написать программу ... условия таковы : Написать программу, которая получает данные по Цельсию в виде 15С и преобразует их в данные по Фаренгейту 59F. 0 по Цельсию равен 32 по Фаренгейту. 1 градус по Цельсия равен 1.8 по Фаренгейту. Установить ширину поля 10 символов, заполнить вместо пробелов символом $ с помощью функций и...
дан список л содержащий н символов. все вхождения данного символа необходимо переместить на первую позицию C++
дан список л содержащий н символов. все вхождения данного символа необходимо переместить на первую позицию.например- символ а .строка врарпава порлучилось аааррпв
C++ Сформировать третий массив, в который перенести из массива X те элементы, которые встречаются в нём чаще, чем в массиве Y. http://www.cyberforum.ru/cpp-beginners/thread359974.html
Задача: Заданы два целочисленных массива X и Y. Сформировать третий массив, в который перенести из массива X те элементы, которые встречаются в нём чаще, чем в массиве Y. Примечание. При написании программы необходимо использовать статический массив. Его максимальная размерность задается именованной константой. Реальное количество элементов массива вводится с клавиатуры с контролем на выход...
C++ Создание консольного меню Дорогие друзья-товарищи, нужен совет по работе с консолью в Windows/Linux. Существуют ли какие-либо библиотеки (что наверняка) и функции, которые устанавливают взаимодействие системы со "стрелочками":вверх, вниз, вправо, влево? В частности, я хочу сделать консольное меню такого вида: 1)... 2)...<< 3)... где "<<" - аналог курсора, перемещение которого по экрану зависит от нажатия клавиш... подробнее

Показать сообщение отдельно
Кристо
0 / 0 / 0
Регистрация: 03.10.2011
Сообщений: 9
03.10.2011, 19:39     Помогите с решением задачи.В одномерном (динамическом)массиве заменить последний из нулевых элементов на три нуля.(С++)
Вот программа,она работает.Правда,если в массиве два или более нулей,замена осуществляется с первым нулём,а нужно с последним.




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
include "stdafx.h"
#include<iostream>
using namespace std;
 
void input(int *a,int n);
void print(int *a,int n);
void insert(int *a,int &n,int &i);
void Poisk(int *a,int n,int &i);
 
int _tmain(int argc, _TCHAR* argv[])
{
    int n,i;
    cin>>n;
    int *a=new int [n];
    input(a,n);
    Poisk(a,n,i);
    insert(a,n,i);
    print(a,n);
    system("Pause");
    return 0;
}
 
 
void input(int *a,int n)
{
    int i;
    for(i=0;i<n;i++)
        cin>>a[i];
}
 
void print(int *a,int n)
{
    int i;
    for(i=0;i<n;i++)
        cout<<a[i]<<"  ";
}
 
void Poisk(int *a,int n,int &i)
{
    int j;
    for(j=n;j>-1;j--)
    if(a[j]==0)
            i=j;
}
 
 
 
void insert(int *a,int &n,int &i)
{   int j;int k;
    Poisk(a,n,i);
    for(j=n-1;j>i;j--)
    swap(a[j],a[j+1]);
    ++n;
    a[i+1]=0;
    for(k=n-1;k>i+1;k--)
    swap(a[k],a[k+1]);
    ++n;
    a[i+2]=0;
 
}
 Комментарий модератора 
Используйте теги форматирования кода!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru