Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.02.2011, 13:41   #1
Сеня2007
Пользователь
 
Регистрация: 21.11.2010
Сообщений: 16
По умолчанию Заполнение массива

Как заполнить массив?
Вот что получилось:
Цитата:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void main()
{
int i,n,c,a[500];

printf("Введите количество символов n= \n");
scanf("%d",&n);
printf("Ввести символы: \n");
for (i=0; i<n; i=i+1)
{
scanf("%d",&a[i]);
}
printf("Массив \n");
for (i=0; i<n; i=i+1)
{
printf("\n %d",&a[i]);
}
getch();
}
Выдает почему то 6 значные значения, а не указанные мной!!

Последний раз редактировалось Сеня2007; 23.02.2011 в 13:58.
Сеня2007 вне форума Ответить с цитированием
Старый 23.02.2011, 14:24   #2
Сеня2007
Пользователь
 
Регистрация: 21.11.2010
Сообщений: 16
По умолчанию

Вот картинка что показывает у меня:
http://s40.radikal.ru/i088/1102/2a/8ceb9acbce14.jpg
Хотя в отладчике показывает правильно сгенереные числа от 0 до 20.
В чем причина?
Сеня2007 вне форума Ответить с цитированием
Старый 23.02.2011, 14:29   #3
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

printf("\n %d",&a[i]); замени на printf("\n %d",a[i]);

знак & значит что ты обращаешься к адресу переменной
onewho вне форума Ответить с цитированием
Старый 23.02.2011, 14:52   #4
Сеня2007
Пользователь
 
Регистрация: 21.11.2010
Сообщений: 16
По умолчанию

Вот что сейчас у меня:
Цитата:
#include <stdio.h>
#include <conio.h>
#include <locale.h>
#include <stdlib.h>

int main()
{
int i,n,f,c,id,a[500];
setlocale (LC_ALL, "Russian"); // что бы русские буквы были
printf("Введите количество символов n= \n");
scanf("%d",&n);
printf("Ввод случайных символов: \n");
for (i=0; i<n; i=i+1)
{

f=rand() % 20 + 1; // случайные числа от 0 до 20
a[i] = f;

}
printf("Массив \n");
for (i=0; i<n; i=i+1)
{
printf("\n %d",&a[i]);
}
printf("Введите число С \n");
scanf("%d",&c);
for (i=0; i<n; i=i+1)
{
if(c>a[i])
{id=id+1;}
return 0;
}
printf("Количество цифр больших с \n");
printf("%d",id);

getch();
return 0;
}
Начинает не работать после увеличения идентификатора
Сеня2007 вне форума Ответить с цитированием
Старый 23.02.2011, 15:11   #5
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

return 0; убери))
хоть бы методом тыка попробывал
onewho вне форума Ответить с цитированием
Старый 23.02.2011, 15:22   #6
Сеня2007
Пользователь
 
Регистрация: 21.11.2010
Сообщений: 16
По умолчанию

уберал не помогает
Сеня2007 вне форума Ответить с цитированием
Старый 23.02.2011, 20:39   #7
Сеня2007
Пользователь
 
Регистрация: 21.11.2010
Сообщений: 16
По умолчанию

Вот так мне сделали:
Цитата:
#include <conio.h>

#include <algorithm>
#include <ctime>
#include <iostream>
#include <vector>

using namespace std;

bool value_greater_10(int value)
{
return value > 10;
}

int _max = 0;

bool is_first_max_value(int value)
{
return value == _max;
}

int main()
{
const int array_size = 10;

vector<int> items;

// Random fill array of elements in range from 0 to 20
srand(time(NULL));
for (int i = 0; i < array_size; ++i)
{
//items.push_back((int)(((float)rand( ) / RAND_MAX) * 20));
int value = (int)(((float)rand() / RAND_MAX) * 20);
items.push_back((rand() % 2) ? value : (-value));
}

// Print array
cout << "Array:" << endl;
for (vector<int>::iterator i = items.begin(); i != items.end(); ++i)
{
cout << *i << endl;
}
cout << endl;

// Print count of elements greater 10
cout << "Count of elements > 10: " << count_if(items.begin(), items.end(), value_greater_10) << endl << endl;

// Find max element and multiple elements right of max
_max = *(max_element(items.begin(), items.end()));
int result = 1;
for (vector<int>::iterator i = find_if(items.begin(), items.end(), is_first_max_value); i != items.end(); ++i)
{
result *= *i;
}

// Print multiple elements right of max
cout << "Multiple elements right of max: " << result << endl << endl;

// Sort array
sort(items.begin(), items.end());

// Print array
cout << "Array:" << endl;
for (vector<int>::iterator i = items.begin(); i != items.end(); ++i)
{
cout << *i << endl;
}
cout << endl;

cout << "Press any key to exit";
getch();

return 0;
}
Теперь вся проблема в том что я не пойму как здесь и че происходит!!! Помогите переделать под более простой вариант!!
Сеня2007 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнение массива Alex_Mason Общие вопросы Delphi 2 07.12.2010 22:58
заполнение массива GaLiof JavaScript, Ajax 4 01.11.2010 20:36
Заполнение массива siemdi Общие вопросы C/C++ 12 27.05.2010 22:21
Рандомное заполнение массива ac1d_buRn Помощь студентам 15 03.05.2010 09:14
Заполнение массива. Небесный Общие вопросы C/C++ 3 01.09.2009 01:39