Модераторы: Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывод чисел с цифрами 1 или 3 
:(
    Опции темы
Guest
Дата 23.4.2005, 16:13 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











и вот это?
Код

cout << "Imput number: \n"; 

а конкретно конец этой строки интересует.
Код

: \n";

  Вверх
sergejzr
Дата 23.4.2005, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 11
Всего: 360



Переход строки то же самое что endl


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Guest
Дата 23.4.2005, 16:48 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











sergej.z, понятно, спасибо!

Итак, господа, вот что у меня получилось! Благодаря Вам и книги по С++:

Первая прога, которая суммирует все числа заканчивающиеся на 1 или 3 РАБОТАЕТ и выглядит так:

Код

#include<conio.h> 
#include<iostream.h> 
#include<math.h> 
#include<stdio.h> 
void main(){int i, n, s=0, a[100]; 
textcolor(10); clrscr(); 
cout<<"Enter N:";cin>>n; 
for(i=0; i<n; i++){cout<<"Enter Number:";cin>>a[i];} 
for(i=0; i<n; i++)cout<<a[i]<<','; 
for(i=0; i<n; i++) 
if((a[i]%10==1 || a[i]%10==3)) s=s+a[i]; 
for(i=0; i<n; i++) 
if((a[i]%10==-1 || a[i]%10==-3)) s=s+a[i]; 
cout<<endl<<"Result:"<<s;getch();} 


Вторая прога, которая выводит числа с цифрами 1 или 3 тоже РАБОТАЕТ и выглядит так:

Код

#include<stdio.h>    
#include<stdlib.h>  
#include<conio.h>    
#include<iostream.h> 
    
void main(void) 
{ 
    int n, m, a[100];    

    cout << "Imput: "; 
    cin >> m;  
    cout << "Imput number: \n";    
    for( int i = 0; i < m; i++ ) 
        cin >> a[i];    
    for( i = 0; i < m; i++ ) 
        cout << a[i] << "  "; 
    cout << endl;    
    
    for( i = 0; i < m; i++ ) 
    { 
        n = a[i];    
        while( n ) 
        { 
            if( n % 10 == 1 || n % 10 == 3 ) 
            { 
                cout << a[i] << "  "; 
                break; 
            } 
            n /= 10;            
        } 
    } 
    cout << endl; 
    getch(); 
}


Третья прога, которая определяет тип последовательности как не странно тоже работает smile и выглядит так:

Код

#include <iostream.h> 
#include <conio.h> 

int sign(int value) 
{ 
    return (value < 0) ? -1 : 
           (value > 0) ?  1 : 
           /*else*/       0 ; 
} 

void main() 
{ 
    int a[100], n, i; 
    cin >> n; 
    for(i = 0; i < n; ++i) 
        cin >> a[i]; 
    
    int x = 0; 
    for (i = 0; i < n - 1; ++i) 
        x += sign(a[i] - a[i + 1]); 

    if      (x == 1 - n) cout << "up"; 
    else if (x == n - 1) cout << "down"; 
    else                 cout << "???"; 
    
    cout << flush; 
    getch(); 
}

  Вверх
Guest
Дата 26.4.2005, 15:17 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Всем привет! Люди добрые, в пятницу уже надо проги сдовать! Сами пргоги уже есть и работают! При сдачи программ я должен объяснить преподу буквально каждую строчку! С первоми двумя я полностью разобрался! Не могли бы Вы мне объяснить мою третью прогу?! Прям буквально каждый значок, оператор....ПЛИИИЗ!

Вот собственно вот эта прога, которую надо объяснить:

Код

#include<iostream.h>
#include<conio.h>
int sign(int value)
{
if(value<0) return -1;
if(value>0) return  1;
return 0;
}
void main()
{
int a[100], n, i;
cin>>n;
for(i=0; i<n; ++i)
cin>>a[i];
int x=0;
for(i=0; i<n-1; ++i)
x+=sign(a[i]-a[i+1]);
if     (x==1-n)cout<<"up";
else if(x==n-1)cout<<"down";
else           cout<<"???";
cout<<flush;
getch();
}


Зарание спасибо!
  Вверх
Guest
Дата 26.4.2005, 21:20 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











int sign(int value) Объявили, что процедура "sign" возвращает значение целого типа (т.е. int), и на входе в неё передаётся переменная типа int, которую мы внутри этой функции называем value.
Внутри этой функции:
if(value<0) return -1;
if(value>0) return 1;
return 0;
1 строчка: если значение переменной, которую мы называем value меньше 0, то программа заканчивает выполнять эту функцию, присваивая этой функции значение -1, если value>0 то функция продолжает выполнятся, и переходит на 2 строчку .
2 строчка: если value больше 0, то программа заканчивает выполнять эту функцию, присваивая этой функции значение +1, иначе: третья строчка присваивает функции значение 0.
Итого: если value<0 то sign=-1? если value>0 то sign=1 если value=0, то sign=0.

void main() Начало самой программы. () означают, что программа не берёт из вызвавшей её программы (операционной системы) никаких данных, а void что в операционную систему программа тоже ничего не возвращает. В С++ сама программа всегда называется main.

int a[100], n, i; Обьявили, что а- это массив из 100 элементов, каждый из которых типа int (целое число), ещё объявили переменные n и i типа int.

cin>>n; прочитали значение n.

for(i=0; i<n; ++i)
cin>>a[i]; Читаем значения массива a[i], с i=0, до тех пор пока i не станет = n. Т.е. заполнили все элементы массива с 0-ого, до n-1-ого (всего n штук). i++,означает, что с каждым разом i увеличивается на 1.

int x=0; объявили x-целое равное 0

for(i=0; i<n-1; ++i)
x+=sign(a[i]-a[i+1]); x+=что-нибудь, это тоже, что и x=x+что-нибудь, т.е. увеличение x на что-нибудь. sign(a[i]-a[i+1]) равен -1, если a[i]-a[i+1]<0 (т.е. a[i]<a[i+1]), равен 0 если a[i]=a[i+1], и т.д. (см. функцию "sign")

if (x==1-n) cout<<"up"; если x в результате предыдущих вычислений окажется равным 1-n (вожможно лишь в случае, когда a[i]-a[i+1]<0 при всех значениях i, т.е массив возрастающий), то прога пишет up , если нет - то выполняет, то что после else

else if(x==n-1)cout<<"down"; проверяет x=n-1? если да (т.е. массив нисходящий) то пишет down если нет то вполняет то что после else

cout<<"???"; пишет ??? (возможно только тогда, когда x не равен 1-n и не равен 1-n)

cout<<flush; пишет flush (может имелось ввиду finish?)

getch(); Ждёт пока не нажмём какую-нибудь кнопку, после нажатия программа заканчивается.


Итого: Мы в программу вводим n чисел, а она говорит нам up если каждое сило больше предыдущего, down если наоборот, и ??? если числа идут вразнобой.
При этом программа использует написанную нами функцию sign, которую я уже охарактеризовал.

  Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0444 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.