Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
33 / 33 / 5
Регистрация: 16.11.2009
Сообщений: 207
1

массив

23.11.2009, 18:58. Показов 2764. Ответов 22
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Массив M (100) содержит целые числа. Поменять знак у элементов, номер которых оканчивается на 2 или на 9.
подскажите пожалуйста как вводить элементы массива с клавиатуры
я знаю часть программы и проверьте пжлста.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <conio.h>
int main()
{ 
   int mas[30];
int i;
   for(i=0;i<30;i++)
    printf("%d ",mas[i]);
    
  if((i%10==2)&&(i%10==9))
  {
    mas[i]-=2*mas[i];
 
}
    
    printf("%d ",mas[i]);
    
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.11.2009, 18:58
Ответы с готовыми решениями:

Массив: Преобразовать массив, прибавив к четным числам, входящим в массив, значение первого элемента.
Есть задача С клавиатуры вводятся элементы целочисленного массива размера N. Преобразовать его,...

Дан массив, состоящий из 15 элементов целого типа. Получить новый массив, как разность между элементами исходного массив
Дан массив, состоящий из 15 элементов целого типа. Получить новый массив, как разность между...

Ввести массив А. В массив В перенести все элементы массива А, стоящие правее максимального элемента, и имеющие нечетный индекс. Массив В отсортировать
Добрый Вечер! Написал первую часть программы по этому заданию&quot;Ввести массив А. В массив В перенести...

Массив: Как скопировать двумерный массив в другой массив?
Как скопировать двумерный массив в другой массив?

22
Быдлокодер
512 / 298 / 85
Регистрация: 22.11.2009
Сообщений: 892
23.11.2009, 19:07 2
Поправил у тебя часть кода
C++
1
2
3
4
5
6
7
8
9
10
   for(i=0;i<2;i++)
    {
    cin>>mas[i];
  if((mas[i]%10==2)&&(mas[i]%10==9))
  {
    mas[i]-=mas[i];
}
    cout<<mas[i]<<"\n";
    }
    getch();

Насчет "оканчивается номер" я не совсем понял
0
33 / 33 / 5
Регистрация: 16.11.2009
Сообщений: 207
23.11.2009, 19:23  [ТС] 3
ваша программа не работает...
и еще в задании сказано номер элемента а не сам элемент,
все равно спасибо

Добавлено через 5 минут
ну то есть каждый 2,9,12,19,22,29 и т.д. элемент меняет знак
0
Быдлокодер
512 / 298 / 85
Регистрация: 22.11.2009
Сообщений: 892
23.11.2009, 19:36 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <vcl.h>
#pragma argsused
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
using namespace std;
void main()
{
int mas[10];
int i;
   for(i=0;i<10;i++)
    {
    cin>>mas[i];
  if((i%10==2)&&(i%10==9))
  {
    mas[i]=-mas[i];
  }
    }
    cout<<mas[i]<<"\n";
    getch();
}

Так?
Компилит, работает неправильно.

Добавлено через 3 минуты
Сразу хочу обратить Ваше внимание, что здесь есть несколько ошибок.
Одна из них - то, что меняется знак массива, а не элемента

Я исправил ошибки именно в синтаксисе, а с алгоритмом подумайте.

Добавлено через 3 минуты
Алгоритм высчитывания верный, допер.
Но все равно он работает не как надо
0
33 / 33 / 5
Регистрация: 16.11.2009
Сообщений: 207
23.11.2009, 19:37  [ТС] 5
mas[i]-=2*mas[i];
а почему тогда прога та не работает, уже не могу...
0
Быдлокодер
512 / 298 / 85
Регистрация: 22.11.2009
Сообщений: 892
23.11.2009, 19:41 6
Так Вы смотрите, что Вы делаете
mas[i]=2*mas[i]-mas[i]
Зачем это? Все равно получается тот же самый mas[i]
0
33 / 33 / 5
Регистрация: 16.11.2009
Сообщений: 207
23.11.2009, 19:44  [ТС] 7
а разве
знак
mas[i]-=2*mas[i]
это же вот так, или я совсем крышу потерял
mas[i]=mas[i]-2*mas[i]

Добавлено через 2 минуты
а прога выдает все время 0, с чего бы это? как вы думаете?
0
Быдлокодер
512 / 298 / 85
Регистрация: 22.11.2009
Сообщений: 892
23.11.2009, 19:45 8
Ах.. Нет, это, оказывается, я крышу потерял.
Теперь понятно.
Но Вы все равно вычитаете из массива квадрат массива, хотя надо менять знак у элемента
0
33 / 33 / 5
Регистрация: 16.11.2009
Сообщений: 207
23.11.2009, 19:47  [ТС] 9
почему квадрат?
я написал что у элемента с i порядком отнимаю удвоенное произведение этого же элемента, и следовательно мы получаем - элемент, разве не так?
0
Быдлокодер
512 / 298 / 85
Регистрация: 22.11.2009
Сообщений: 892
23.11.2009, 19:48 10
Да вот потому что.
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
#include <vcl.h>
#pragma hdrstop
#pragma argsused
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <math.h>
using namespace std;
void main()
{
int mas[10];
int i=1,k;
   for(k=0;k<=9;k++)
    {
    i++;
    cin>>mas[i];
  if ((i%10==2)&&(i%10==9))
  {
  cout<<"Hello World";
  }
    }
    cout<<mas<<"\n";
    getch();
}
Потестите. Ничего он не выведет.
Неправильно считает номер элемента массива.

Добавлено через 43 секунды
Цитата Сообщение от so1o Посмотреть сообщение
почему квадрат?
я написал что у элемента с i порядком отнимаю удвоенное произведение этого же элемента, и следовательно мы получаем - элемент, разве не так?
Да, да.
Мне, пожалуй, спать пора.
0
33 / 33 / 5
Регистрация: 16.11.2009
Сообщений: 207
23.11.2009, 19:52  [ТС] 11
нет 2*элемент ((:

Добавлено через 25 секунд
т.е. 1 элемент - 2 элемента=-элемент ??

Добавлено через 2 минуты
ахх жаль... мне это теперь самому доделавать придется, ибо потом сдавать...
0
Быдлокодер
512 / 298 / 85
Регистрация: 22.11.2009
Сообщений: 892
23.11.2009, 19:52 12
C++
1
2
3
4
  if ((i%10==2)&&(i%10==9))
  {
  cout<<"Hello World";
  }
Потестите цикл вот этот. Он не будет выводить.
0
33 / 33 / 5
Регистрация: 16.11.2009
Сообщений: 207
23.11.2009, 19:54  [ТС] 13
он мне выдает вообще бяку
0xffe2
0
Быдлокодер
512 / 298 / 85
Регистрация: 22.11.2009
Сообщений: 892
23.11.2009, 19:56 14
Я это дал, чтобы Вы вставили в программу и погоняли.
О.К. вот весь код. Пробуйте.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <vcl.h>
#pragma hdrstop
#pragma argsused
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <math.h>
using namespace std;
void main()
{
int mas[10];
int i=0,k;
   for(k=0;k<=9;k++)
    {
    cin>>mas[i];
  if ((i%10==2)&&(i%10==9))
  {
  cout<<"Hello World";
  }
    }
    cout<<mas[i]<<"\n";
    getch();
}
Он должен выводить "Хеллоу Ворлд" когда остаток от деления номера элемента массива равен 2 или 9.
0
33 / 33 / 5
Регистрация: 16.11.2009
Сообщений: 207
23.11.2009, 19:59  [ТС] 15
во первых у меня проблема,
у меня нет библиотеки vcl.h
во вторых программа почему то показывает последнюю цифру, непонятно почему...
0
Быдлокодер
512 / 298 / 85
Регистрация: 22.11.2009
Сообщений: 892
23.11.2009, 20:02 16
vcl.h можете не писать, у меня Билдер 6.

Так понятно - он выводит mas[i], т.е. последнее записавшееся значение.

Добавлено через 51 секунду
И, кстати, исправте в цикле && на ||
0
33 / 33 / 5
Регистрация: 16.11.2009
Сообщений: 207
23.11.2009, 20:10  [ТС] 17
аа да я забыл, ща исправлю,

Добавлено через 6 минут
опа, я получил хеллоу ворлд, после того как исправил k на i ,
0
Быдлокодер
512 / 298 / 85
Регистрация: 22.11.2009
Сообщений: 892
23.11.2009, 20:14 18
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
#include <vcl.h>
#pragma hdrstop
#pragma argsused
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <math.h>
using namespace std;
void main()
{
int mas[10];
int i=1;
   for(i=1;i<=10;i++)
    {
    cin>>mas[i];
  if ((i%10==2)||(i%10==9))
  {
      mas[i]-=2*mas[i];
  }
      cout<<"   "<<mas[i]<<"\n";
    }
    getch();
 
}
Кол-во элементов подредактируйте
1
33 / 33 / 5
Регистрация: 16.11.2009
Сообщений: 207
23.11.2009, 20:31  [ТС] 19
ура, спасибо!
только нельзя ли как нибудь по иначе отрожались элементы а не так как здесь?))

Добавлено через 4 минуты
да я отредактировал! спасибо большое(:
уффф сколько же мы флуда развели(:

Добавлено через 8 минут
а хотя как говорится если работает не чини ((:
0
Быдлокодер
512 / 298 / 85
Регистрация: 22.11.2009
Сообщений: 892
23.11.2009, 20:32 20
Можно. Как Вы хотите?
0
23.11.2009, 20:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.11.2009, 20:32
Помогаю со студенческими работами здесь

Дан массив целых чисел,произвести для него следующие операции: для каждого из чисел ,входящего в массив,указать,сколько раз оно входит в массив...
помогите!!!((( дан массив целых чисел,произвести для него следующие операции: для каждого из чисел...

Файл: Загрузка данных из файла: первый столбец записывался в 1й массив, второй столбец - во 2й массив, а 3й столбец - в 3й массив.
Есть текстовый файл, в нем 3 столбца чисел (число строк заранее неизвестно). Напишите пожалуйста...

Массив: Все элементы массива, кратные трем, записать в одномерный массив.
Дан двумерный массив размером n x n? заполненный целыми числами. Все его элементы кратные трем,...

Дан массив А(4,4). Сформировать массив В(4) из среднеарифметических значений элементов в каждой строке.
Дан массив А(4,4). Сформировать массив В(4) из среднеарифметических значений элементов в каждой...

Переписать положительные элементы массива K,кратные пяти в массив M,а остальные-в массив Q.
Дан массив K(N).Переписать положительные элементы массива K,кратные пяти в массив M,а остальные-в...

Все четные элементы целочисленного массива K(n) поместить в массив L(n), а нечётные - в массив M(n)
Все четные элементы целочисленного массива K(n) поместить в массив L(n), а нечётные - в массив...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru