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

Необходимо из элементов массива удалить цифры 0, 3, 6, 9 и записать получившийся массив. Подскажите в чем ошибка? - C++

Восстановить пароль Регистрация
 
ollchik
0 / 0 / 0
Регистрация: 17.12.2012
Сообщений: 14
20.12.2012, 23:42     Необходимо из элементов массива удалить цифры 0, 3, 6, 9 и записать получившийся массив. Подскажите в чем ошибка? #1
с++.необходимо из элементов массива удалить цифры 0, 3, 6, 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
#include "stdafx.h"
#include <stdio.h>
 
int main()
{
int a[100], b[100] , n,  s, m, z, i;
printf("Vvedite razmer masiva:\n");
scanf_s("%d", &n);
if(n<0 || n>100){
printf("Nedopystimay masiv");
return 1;
}
 
printf("Vvedite elementay masiva:\n");
for (i=0; i<n; i++)
scanf_s("%d", &a[i]);
for (i=0;i<n;i++)
s=0; z=0; m=0;
{ while(a[i]%10!=0 || a[i]>=10 )
{z=a[i]%10; 
a[i]=(a[i]-z)/10;
if (z==0 || z==3 || z==6 || z==9);
else {
if (s!=0)
s=z*10+s;
else s=z;
} } }
m=a[i]*100+s;
printf("%d", m);
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2012, 23:42     Необходимо из элементов массива удалить цифры 0, 3, 6, 9 и записать получившийся массив. Подскажите в чем ошибка?
Посмотрите здесь:

C++ Сформировать массив Y, куда записать номера элементов массива X
C++ Ввести целое число. Определить, симметрично ли оно, т.е. одинаковы ли цифры слева и справа (12321). Записать 3 последние цифры в одномерный массив.
первод массива char в массив int ( в чем ошибка?????) C++
Упорядочить массив по невозрастанию элементов. вывести получившийся массив C++
Необходимо каждый элемент массива сравнить с его 8 соседями и если он больше, чем любой из элементов с которыми сравнивается, его распечатать. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
21.12.2012, 01:41     Необходимо из элементов массива удалить цифры 0, 3, 6, 9 и записать получившийся массив. Подскажите в чем ошибка? #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    for ...
    {
        int i;
        {
            ...
            {
 
 
            }
        }
 
 
    }
расставляйте скобки как в примере выше, это сделает код читабельным

первое что бросилось в глаза - у вас в 17 строке цикл for выполняется для s=0;
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11811 / 6790 / 767
Регистрация: 27.09.2012
Сообщений: 16,840
Записей в блоге: 2
Завершенные тесты: 1
21.12.2012, 01:49     Необходимо из элементов массива удалить цифры 0, 3, 6, 9 и записать получившийся массив. Подскажите в чем ошибка? #3
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
#include <iostream>
#include <cmath>
int Del(int &n){
    n=std::abs(n);
    int rez=0;
    int o; int b=1;
    while(n){
        o=n%10;
        if(o%3){
            rez+=o*b;b*=10;}
        n/=10;
    }
    return n=rez;
}
 
 
int main(){
    const int size=5;
    int arr[size]={23532,658,96756,9089,12343698};
    for(int i=0;i<size;++i){
        std::cout<<"arr["<<i<<"]\t=\t"<<Del(arr[i])<<std::endl;
    }
    std::cin.get();
    return 0;
}
ollchik
0 / 0 / 0
Регистрация: 17.12.2012
Сообщений: 14
21.12.2012, 02:07  [ТС]     Необходимо из элементов массива удалить цифры 0, 3, 6, 9 и записать получившийся массив. Подскажите в чем ошибка? #4
Спасибо.
Yandex
Объявления
21.12.2012, 02:07     Необходимо из элементов массива удалить цифры 0, 3, 6, 9 и записать получившийся массив. Подскажите в чем ошибка?
Ответ Создать тему
Опции темы

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