Четверг, 28 Марта 2024, 12:52

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » C/C++ » Проверка (массивы С++)
Проверка
Shevron_7Дата: Четверг, 11 Апреля 2013, 15:21 | Сообщение # 1
маньяк-бомбист
Сейчас нет на сайте
Народ, помогите из написаниям программы.

Вот собственно задача:
Цитата
Программа должна считывать с клавиатуры в массив действительные числа до тех пор, пока произведение чисел последовательности менее 100


за ранее спасибо cool


TEST =>
Мои игры:
Kill your brain
Space Conflict
Zombie Day
Bounce PC
Extra ball 2012

Это спасибо в карман не положишь, а в репутацию можно. +1


Сообщение отредактировал Shevron_7 - Четверг, 11 Апреля 2013, 15:21
RUNGOGET2THECHOPAHДата: Четверг, 11 Апреля 2013, 16:23 | Сообщение # 2
участник
Сейчас нет на сайте
Код

#include <iostream>

using namespace std;

void main()
{
   int   elementsNum = 0;
   int   arraySize = 15;
   double*  elements = new double[arraySize];
   double  currentProduct = 1;

   do   
   {
    if (elementsNum >= arraySize)
    {
     arraySize += 5;
     double* newArray = new double[arraySize];
     for (int i = 0; i < elementsNum; i++)
     {
      newArray[i] = elements[i];
     }
     delete[] elements;
     elements = newArray;
    }

    cout<<"Insert next element: ";
    cin>>elements[elementsNum];
    elementsNum++;

    currentProduct = currentProduct * elements[elementsNum - 1];
   }   
   while (currentProduct < 100);
    
   delete[] elements;
}


Сообщение отредактировал RUNGOGET2THECHOPAH - Четверг, 11 Апреля 2013, 16:26
Shevron_7Дата: Четверг, 11 Апреля 2013, 21:41 | Сообщение # 3
маньяк-бомбист
Сейчас нет на сайте
А как вывести на экран все числа которые попадают в диапазон между первым и вторым введенным числом и их сумму?

TEST =>
Мои игры:
Kill your brain
Space Conflict
Zombie Day
Bounce PC
Extra ball 2012

Это спасибо в карман не положишь, а в репутацию можно. +1
shizofrenДата: Четверг, 11 Апреля 2013, 22:47 | Сообщение # 4
Starting MS-DOS...
Сейчас нет на сайте
Цитата
А как вывести на экран все числа которые попадают в диапазон между первым и вторым введенным числом и их сумму?


a1 - первое число, a2 - второе число

Код

#include <stdio.h>
void main(){
int sum=0, Chisla[100], a1, a2, i;

/*Фрагмент программы, отвечающий за запись в массив чисел*/

for(i=1;i<=100;i++){
    if(Chisla[i]>=a1 && Chisla[i]<=a2){
     printf("%i",Chisla[i]);
     sum+=Chisla[i];
    }
}

printf("%i",sum);}



Моя команда

Сообщение отредактировал shizofren - Четверг, 11 Апреля 2013, 22:49
Shevron_7Дата: Среда, 17 Апреля 2013, 12:11 | Сообщение # 5
маньяк-бомбист
Сейчас нет на сайте
shizofren, это немного не то, наверное, поскоклько работает не так как нужно sad

TEST =>
Мои игры:
Kill your brain
Space Conflict
Zombie Day
Bounce PC
Extra ball 2012

Это спасибо в карман не положишь, а в репутацию можно. +1
shizofrenДата: Воскресенье, 21 Апреля 2013, 15:10 | Сообщение # 6
Starting MS-DOS...
Сейчас нет на сайте
Цитата (Shevron_7)
shizofren, это немного не то, наверное, поскоклько работает не так как нужно sad

Ты добавил фрагмент программы, который отвечает за запись чисел в массив?


Моя команда
Shevron_7Дата: Среда, 24 Апреля 2013, 17:28 | Сообщение # 7
маньяк-бомбист
Сейчас нет на сайте
Вот собсно что я сварганил после просмотра ваших кодов
Код
#include <cstdlib>
#include <iostream>
#include <stdio.h>  

using namespace std;
int main()
{
int kol = 0,ctrl = 1,mass[kol];

do
     {
     setlocale(0,"");  
     cout<<"Введите "<<kol+1<<" элемент массива: ";    
     cin>>mass[kol];           
     ctrl = ctrl*mass[kol];
     kol++;
     }
while (ctrl < 100);

cout<<"Числа попадающие в диапазон между первым и вторым введенным числом: ";
for (int j=1;j<kol;j++)
{
if (mass[j]>mass[0] && mass[j]<mass[1])
       {
          cout<<mass[j]<<"  ";                   
       }
}
int abc;
cin>>abc;
}



спасибо за помощь


TEST =>
Мои игры:
Kill your brain
Space Conflict
Zombie Day
Bounce PC
Extra ball 2012

Это спасибо в карман не положишь, а в репутацию можно. +1
x_XДата: Пятница, 26 Апреля 2013, 02:20 | Сообщение # 8
был не раз
Сейчас нет на сайте
Shevron_7, твой код слегка неверен, т.к. массив небудет содержать элементов:
Цитата (Shevron_7)
int kol = 0,mass[kol];

можно считывать числа во временный массив большого размера, затем, когда кол-во чисел элементов нам известно, создать динамический массив и переместь данные в него. Твой код слегка поправил:
Код

int kol = 0,ctrl = 1,mass[1024];

do
         {
             // тут все ok, есть одно замечание, т.к. проверка производится после занесения элемента в массив, последний элемент нам не нужен и при создании динамического массив укажем его размер на 1 элемент меньше     
         }
while (ctrl < 100);     

int *array = new int[kol-1];    //создаем динамический массив из kol-1 элемента
for (int i = 0; i < kol; ++i)
        array[i] = mass[i];        //перемещаем элементы во вновь созданный массив


Сообщение отредактировал x_X - Пятница, 26 Апреля 2013, 02:51
Форум игроделов » Программирование » C/C++ » Проверка (массивы С++)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг