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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите студенту! 
:(
    Опции темы
Serafim
  Дата 14.4.2005, 19:10 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











smile Помогите бедному студенту. Задание просто горит - думал что нужна написать прогу до конца симестра, а оказалось, что к следующей неделе... в общем задание таково:
Ввести целочисленный массив.
Найти минимальное положительное число.
Вывести все элементы массива с нечётным индексом (1,3,5,7 и т.п.).
Отобрать в новый массив все эелементы, имеющие цифру 7 (например 723, -17, 5701, 771 и т.п.)

P.S.: по возможности с краткими пояснениеями - для вас программеров это всё как два пальца, а мне вообще ничего не понятно!

ЗАРАНЕЕ ОГРОМНОЕ СПАСИБО!
  Вверх
rsm
Дата 14.4.2005, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 999
Регистрация: 16.3.2005

Репутация: 1
Всего: 62



А на каком языке писать-то?
PM MAIL   Вверх
batigoal
Дата 14.4.2005, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 1
Всего: 151



Цитата(rsm @ 14.4.2005, 19:43)
А на каком языке писать-то?

Краткие пояснения? На русском! smile
Напиши, какой язык и какой интерфейс - консольный или графический?



--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Pakshin A. S.
Дата 14.4.2005, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 5
Всего: 61



Эх... блин... ТЕОРИЮ УЧИТЬ НАДО!!! И на практики ходить, а не пиво пить и шляться по городу!!!

Это же для детского сада задачка!!!

М
 
Какой язык?! Иначе завтра вечерком закрою тему!!!

PM   Вверх
Serafim
Дата 14.4.2005, 22:28 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Язык С++! Извиняйте за некорректную просьбу!

Всё начинается в таком духе:

#include <conio.h>
#include <iostream.h>
void main(){int i,n,S,a[100]; textcolor(7);
clrscr(); S=0;
cout<<"Enter size:";cin>>n;
for(i=0;i<n;i=i+1){cout<<"Enter number:";cin>>a[i];}
for(i=0;i<n;i=i+1)cout<<a[i]<<" ";
for(i=0;i<n;i=i+1) if(a[i]>S) S=a[i]; i=i+1;
  Вверх
batigoal
Дата 15.4.2005, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 1
Всего: 151



Тады мучайтесь сами - у меня и студии-то здесь нет smile


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Guest
Дата 15.4.2005, 16:51 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(Pakshin @ 14.4.2005, 21:22)
Эх... блин... ТЕОРИЮ УЧИТЬ НАДО!!! И на практики ходить, а не пиво пить и шляться по городу!!!

Это же для детского сада задачка!!!

Какой язык?! Иначе завтра вечерком закрою тему!!!

Ну может, для тех кто учится на программеров эта задачка и детская, а каково мне - будущему финансисту? smile
  Вверх
Pakshin A. S.
Дата 15.4.2005, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 5
Всего: 61



Эххх.... придется вспомнить крохи си... smile
выводим минимум
Код

int min;
min = a[0];
for (i=1;i<n;i+1)
{if a[i]>0
{if a[i]<min
{min=a[i];}
}
}

с индексами
Код

for (i=1;i<n; i+2)
{cin >> a[i]}


А вот последнее.... нужно книжку открыть... не помню синтаксиса...

P. S. Вообще-то я дельфист, поэтому могу и ошибиться в написании кода... smile
PM   Вверх
Serafim
Дата 15.4.2005, 18:10 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Всё равно - ОГРОМНОЕ СПАСИБО! smileБуду ждать продолжение в виде третьего задания и скомпликтованного задания задания, потому что это всё в одну прогу я не склею... smile
  Вверх
Pakshin A. S.
Дата 15.4.2005, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 5
Всего: 61



А к какому нужно? Я может сподоблюсь себе еще си поставить и все на практике проверить... smile
PM   Вверх
Serafim
Дата 15.4.2005, 18:28 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Сдать нужно в среду, т.е. 20-го. smile Буду признателен, если сподобитесь (с) smile
  Вверх
Pakshin A. S.
Дата 15.4.2005, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 5
Всего: 61



Ok... в субботу вечером деть нефига, поэтому что-нить вспомню из си и напишу программу полностью.. smile smile smile

P. S. С Вас причетается... smile
PM   Вверх
Serafim
Дата 15.4.2005, 18:43 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата
P. S. С Вас причетается... 


Эт точна! Ну, Вы обращайтесь если с экономикой какие траблы! =) Сочтёмся =)
  Вверх
rsm
Дата 15.4.2005, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 999
Регистрация: 16.3.2005

Репутация: 1
Всего: 62



Про минимальное число в массиве:
Код

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

#define ARRAY_SIZE 10 // размер массива

int main(int argc, char **argv)
{
    int array[ARRAY_SIZE] = { 800, 12, 73, -20, 399, 291, 45, -21, 61, 77 }; // массив (заполненный)
    unsigned int i;
    int min = -1;
    for(i = 0; i < ARRAY_SIZE; i++) // просматриваем все элементы массива
        if((array[i] > 0) && (array[i] < min)) // если положительно и меньше
            min = array[i]; // сохраняем мин. значение
    if(min < 0) // если положительных чисел в массиве нет
        cout << "Положительные числа в массиве отсутствуют!" << endl;
    else
        cout << "Минимальное число: " << min << endl; // вывод мин. значения
    getch(); // ждем нажатия Enter (чтобы окно консоли не закрывалось сразу)
    return 0;
}


Про нечетные элементы массива:
Код

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

#define ARRAY_SIZE 10

int main(int argc, char **argv)
{
    int array[ARRAY_SIZE] = { 800, 12, 73, -20, 399, 291, 45, -21, 61, 77 };
    unsigned int i;
    for(i = 0; i < ARRAY_SIZE; i++)
        if(i % 2) // если число не четное (остаток деления по модулю = 1)
            cout << "Индекс = " << i << " ; Значение = " << array[i] << endl;    
    getch();
    return 0;
}


Про все числа содержание цифру 7 - ИМХО лучше всего решить эту задачу преобразовав число в строку:
Код

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

#define ARRAY_SIZE 10

int main(int argc, char **argv)
{
    int array[ARRAY_SIZE] = { 800, 12, 73, -20, 399, 291, 45, -21, 61, 77 };
    int newarray[ARRAY_SIZE]; // новый массив для чисел с "семеркой"
    unsigned int i, j = 0;
    char buff[12]; // массив для перевода числа в строку
    for(i = 0; i < ARRAY_SIZE; i++)
    {
        itoa(array[i], buff, 10); // переводим число в строку
        if(strchr(buff, '7')) // если есть цифра "7"
        {
            newarray[j] = array[i]; // сохраняем число содержащее "7" в новый массив
            j++;
        }
    }
    getch();
    return 0;
}


Цитата
а каково мне - будущему финансисту?

Привет от студента-автомобилиста! smile

З.Ы. Если понадобится заполнить массив вручную это можно сделать например так:
Код

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

#define ARRAY_SIZE 10 // размер массива

int main(int argc, char **argv)
{
    int array[ARRAY_SIZE];
    unsigned int i;
    int value;
    for(i = 0; i < ARRAY_SIZE; i++)
    {
        cout << "Индекс = " << (i + 1) << " Введите целое число: " << endl;
        cin >> value; // берем введенное юзером число
        array[i] = value; // кидаем его в массив
        cout << endl;
    }
    cout << "Конец ввода данных" << endl;
    getch();
    return 0;
}


Это сообщение отредактировал(а) rsm - 16.4.2005, 07:42
PM MAIL   Вверх
Dov
Дата 15.4.2005, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

Репутация: 50
Всего: 88



Цитата(rsm @ 15.4.2005, 18:19)
Про максимальное число в массиве:


Цитата(Serafim @ 14.4.2005, 18:10)
Найти минимальное положительное число.




--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
Aliance
Дата 15.4.2005, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: нет
Всего: 137



2 Serafim
Регистрируйтесь на форуме, это даст вам новые возможности.
Цитата
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще!

PM MAIL WWW ICQ Skype   Вверх
rsm
Дата 15.4.2005, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 999
Регистрация: 16.3.2005

Репутация: 1
Всего: 62



Dov
Спасибо за замечания, исправил smile

Это сообщение отредактировал(а) rsm - 15.4.2005, 21:16
PM MAIL   Вверх
Dov
Дата 15.4.2005, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

Репутация: 50
Всего: 88



rsm
Вот так:
Код
int min = 0;
    for(i = 0; i < ARRAY_SIZE; i++) // просматриваем все элементы массива    
        if((array[i] > 0) && (array[i] < min)) // если положительно и меньше    
            min = array[i]; // сохраняем мин. значение

работать не будет, имхо.
int min = 0; ???????



--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
batigoal
Дата 15.4.2005, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 1
Всего: 151



Да, вместо
Код

int min = 0; 

в таких случаях обычно пишут
Код

int min = array[0];


Это сообщение отредактировал(а) Lamer George - 15.4.2005, 22:10


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Dov
Дата 15.4.2005, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

Репутация: 50
Всего: 88



Цитата(Lamer @ 15.4.2005, 21:09)
в таких случаях обычно пишут

Код C++
1:
int min = array[0];

Нет. Так тоже низзя. А что если array[0] < 0 ???



--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
sergejzr
Дата 15.4.2005, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


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

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



int min =-1;

в конце проверка на -1 и сообщение, что положительных чисел в массиве .нет

Минимальное положительное число в массиве:


Код

#include <iostream.h>
#include <conio.h>
#define ARRAY_SIZE 10 // размер массива
int main(int argc, char **argv)
{
    int array[ARRAY_SIZE] = { 800, 12, 73, -20, 399, 291, 45, -21, 61, 77 }; // массив (заполненный)
    unsigned int i;
    int min = -1; //если в массиве есть хотя бы одно пол. число, значение изменится.
    for(i = 0; i < ARRAY_SIZE; i++) // просматриваем все элементы массива
        if((array[i] > 0) && ((array[i] < min)||min==-1)) // если положительно и меньше
            min = array[i]; // сохраняем мин. значение


    if(min>0)
      cout << "Минимальное число: " << min << endl; // вывод мин. значения
    else
      cout << "Положительные числа в массиве отсутсвуют!" << endl; 
    getch(); // ждем нажатия Enter (чтобы окно консоли не закрывалось сразу)
    return 0;
}

нечётные элементы массива

Код

#include <iostream.h>
#include <conio.h>
#define ARRAY_SIZE 10
int main(int argc, char **argv)
{
    int array[ARRAY_SIZE] = { 800, 12, 73, -20, 399, 291, 45, -21, 61, 77 };
    unsigned int i;
    for(i = 1; i< ARRAY_SIZE; i=i+2)
            cout << "Индекс c" << i << " ; Значение = " << array[i] << endl;  
    //таким образом нечётные элементы вообще не попадут. 
    getch();
    return 0;
}


числа с семёркой
Код

#include <iostream.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#define ARRAY_SIZE 10
int main(int argc, char **argv)
{
    int array[ARRAY_SIZE] = { 800, 12, 73, -20, 399, 291, 45, -21, 61, 77 };
    int newarray[ARRAY_SIZE]; // новый массив для чисел с "семеркой"
    int i, j, a = 0;
    
    for(i = 0; i < ARRAY_SIZE; i++)
    {
        for(j=array[i];j!=0;j=j/10)
         if ((j%10)==7)
          {
            newarray[a]=array[i]; a++; goto found;
          }

found:;
    }
    for(int u=0;u<a;u++)
        cout<<newarray[u]<<" ";
    getch();
    return 0;
}



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
sergejzr
Дата 16.4.2005, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


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

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



Да, звиняюсь, не закомпилил. Пару семиколонов пропустил.

Щас даже студию запускал smile


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
rsm
Дата 16.4.2005, 07:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 999
Регистрация: 16.3.2005

Репутация: 1
Всего: 62



sergej.z
Цитата
нечётные элементы массива

Про элемент массива с индексом 0 забыл.

Цитата
числа с семёркой

Кошмар smile Но работает.

Это сообщение отредактировал(а) rsm - 16.4.2005, 07:46
PM MAIL   Вверх
sergejzr
Дата 16.4.2005, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


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

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



Цитата(rsm @ 16.4.2005, 06:45)
Про элемент массива с индексом 0 забыл.

0 - чётное число. Делится на 2 с остатком 0;

Цитата(rsm @ 16.4.2005, 06:45)
Кошмар smile Но работает.

А что кошмарного? нормальный перевод в десятичную систему исчисления smile

rsm Ваши примеры кстати отличные smile



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Dov
Дата 16.4.2005, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

Репутация: 50
Всего: 88



Цитата(sergej @ 16.4.2005, 09:23)
Цитата (rsm @ 16.4.2005, 06:45)
Про элемент массива с индексом 0 забыл.

0 - чётное число. Делится на 2 с остатком 0;

Ну, тогда с индексом 9.
smile
Ну не хватает одного элемента, что поделаешь?
Код
 for(i = 1; (i+1)< ARRAY_SIZE; i=i+2)



--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
rsm
Дата 16.4.2005, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 999
Регистрация: 16.3.2005

Репутация: 1
Всего: 62



sergej.z
Цитата
0 - чётное число. Делится на 2 с остатком 0;

Конечно четное и конечно делится! Но перебор элементов массива начинается с 1:
Код

for(i = 1; i< ARRAY_SIZE; i=i+2)


Цитата
А что кошмарного?

Я сперва так же хотел сделать но потом решил что со строкой будет проще и читабельнее.

Цитата
Ваши примеры кстати отличные

Спасибо smile Примеры не особо красивые т.к. С++ юзаю очень редко - не люблю излишние преобразования типов [а-ля (void*) &bBuff или reinterpret_cast<DLGPROC>(DlgProc)] smile

Это сообщение отредактировал(а) rsm - 16.4.2005, 12:28
PM MAIL   Вверх
Serafim
Дата 18.4.2005, 15:11 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Спасибо, Вам большое! У меня к Вам последний вопрос - а Array и Array_size заменимы??
  Вверх
batigoal
Дата 18.4.2005, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 1
Всего: 151



В смысле? ARRAY_SIZE в данном случае - константа, сколько перед компиляцией в нее напишешь - такого размера массив и получишь.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
rsm
Дата 18.4.2005, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 999
Регистрация: 16.3.2005

Репутация: 1
Всего: 62



Цитата
а Array и Array_size заменимы??

array это просто название переменной, его можно заменить на любое - mein_rules_array, mega_array, lkjwlkjfs_1 и пр.
ARRAY_SIZE это константа, про ее применение уже написал Lamer George.
PM MAIL   Вверх
batigoal
Дата 22.4.2005, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 1
Всего: 151



smile smile

Это сообщение отредактировал(а) Pakshin A. S. - 25.4.2005, 12:36


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Guest
Дата 24.4.2005, 11:01 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











smile У меня к вам БОЛЬШАЯ просьба - объясните пожалуйста, что за действия здесь выполняются! Я просто сидя с учебником разобраться не могу! Очень нужна ваша помощь!
Например, что вот это за действие:
Код

int *a = new int[n + 1]; 



Код

#include <iostream.h> 
#include <iomanip.h> 
#include <math.h> 

int main() 
{ 
   int i, n; 
   cout << "Input number of elements: "; 
   cin >> n; 
//------------------------------------------------------// 
   //ввод массива 
   int *a = new int[n + 1]; 
   for (i = 0; i < n; i++) 
   { 
      cout << "Input a[" << i << "]: "; 
      cin >> a[i]; 
   } 
//------------------------------------------------------// 
   //поиск минимума среди положитеьных 
   i = -1; 
   int min = 0; 
   while (++i < n) 
   { 
      if (a[i] > 0) 
      { 
         min = a[i]; 
         i = n; 
      } 
   } 

   i = -1; 
   while (++i < n) 
   { 
      if (min > a[i] && a[i] > 0) min = a[i]; 
   } 

   cout << endl << "I: " << min << endl; 
//------------------------------------------------------// 
   //вывод элементов с нечётными индексами 
   cout << "II: "; 
   for (i = 1; i < n; i += 2) 
   { 
      cout << setw(3) << a[i]; 
   } 

   cout << endl; 
//------------------------------------------------------// 
   //отобор в новый массив всех эелементов, имеющих цифру 7 
   cout << "III: "; 
   int *b = new int[n + 1]; 

   i = 0; 
   int j = 0,  nY = a[i] % 10, 
            nX = (a[i] - nY) / 10; 


   while (true) 
   { 
      if (abs(nX) <= 9 || abs(nY) == 7) 
      { 
         if (abs(nX) == 7 || abs(a[i]) == 7 || abs(nY) == 7) b[j++] = a[i]; 
         i++; 
         if (i == n) break; 
         nY = a[i] % 10; 
         nX = (a[i] - nY) / 10; 

      } 
      else 
      { 
         nY = nX % 10; 
         nX = (nX - nX % 10) / 10; 
      } 
   } 

   //вывод этих элементов 
   for (i = 0; i < j; i++) 
   { 
      cout << setw(3) << b[i]; 
   } 

   cout << endl; 

   delete[] a; 
   delete[] b; 

   return 0; 
}


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


Un salsero
Group Icon


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

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



int *a = new int[n + 1];

оператор new запросил у системы памяти, в которую помещаются n+1 штук челых чисел типа int. Указатель а показывает теперь на первый элемени этого массива


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


Unregistered











А вы не могли бы пояснить, какие действия выполняются при нахождении минимума среди положительных?
Код

 i = -1; 
   int min = 0; 
   while (++i < n) 
   { 
      if (a[i] > 0) 
      { 
         min = a[i]; 
         i = n; 
      } 
   } 

   i = -1; 
   while (++i < n) 
   { 
      if (min > a[i] && a[i] > 0) min = a[i]; 
   } 

   cout << endl << "I: " << min << endl; 


  Вверх
Pakshin A. S.
Дата 25.4.2005, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 5
Всего: 61



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

Вот только перед вторым цмклом i = -1 не обязательно... т. к. мы знаем, что предыдущие элементы не положительны...

Это сообщение отредактировал(а) Pakshin A. S. - 25.4.2005, 12:44
PM   Вверх
Serafim
Дата 25.4.2005, 18:49 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











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


Unregistered











А что означает звёздочка в *а ??
  Вверх
Guest
Дата 26.4.2005, 12:19 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Pakshin A. S. а можешь объяснить построчно?
  Вверх
Feanor
Дата 26.4.2005, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 23.4.2005

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



Блин, Я ж тебе сегодня говорил, что звёздочка - это умножение .
PM MAIL   Вверх
Pakshin A. S.
Дата 26.4.2005, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 5
Всего: 61



Цитата

Pakshin A. S. а можешь объяснить построчно?

А что тут построчно объяснять? Синтаксис языка что ли? Тут можно рассказать только блоками, а само программирование исходит от знания самого программиста... если не понятна реализация, то стоит подучить язык программирования и основные принципы работы...
PM   Вверх
sergejzr
Дата 26.4.2005, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


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

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



Цитата(Guest @ 26.4.2005, 11:17)
А что означает звёздочка в *а ??

Это означает, что у нас указатель на целое число.
Если бы звезды не было, "а" бало бы просто целое число.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

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


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

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

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

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


 




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


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

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