Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Первый отрицательный и минимальный эл массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Удаление элементов, чтение, запись в Структурах http://www.cyberforum.ru/cpp-beginners/thread200469.html
Всем привет! Помогите дописать программу, с таки вот условием: Кредиты: ФИО заемщика, сумма, процентная ставка в год, срок кредита. Дополнить вывод информацией о сумме процентов, которые...
C++ Обработка литерных величин (строки) Дело заключается в следуюющем: всего три задания=3 программы 1. Совпадают ли буквы в двух словах. 2.Вычеркните из слов совпадающие гласные буквы 3.Вставте между буквами в слове "_" Думаю 3... http://www.cyberforum.ru/cpp-beginners/thread200465.html
C++ Каким образом можно записать стек и очередь в дек
Прошу помощи. Есть программа создания стека и очереди с динамическим распределением памяти. Каким образом их можно записать в дек?Заранее спасибо # include <iostream.h> # include <process.h> #...
C++ Теорема Виета
Суть, решить квадратичное уравнение теоремой виета, но мне кажется это идиотизм, потому как, если числа дробные - огромное кол-во комбинаций двух чисел надо проверить. Я вымутил что-то вроде такого...
C++ определение дня недели http://www.cyberforum.ru/cpp-beginners/thread200458.html
Написать программу, которая при вводе дня и месяца, определяет день недели. (год невисокосный)
C++ Вычисление собственных значений и собственных векторов матрицы. Метод скалярных произведений Курсовая работа!! Задание: "Вычисление собственных значений и собственных векторов матрицы. Метод скалярных произведений" Матрицу задаём произвольно, можно симметричную матрицу!! а дальше по... подробнее

Показать сообщение отдельно
romex
44 / 44 / 4
Регистрация: 11.04.2010
Сообщений: 223
01.12.2010, 11:45
А и здесь imin=1 не должно быть * ?
Пардон, не доглядел
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
25
26
27
28
29
30
31
32
33
34
void main()
{   # include <stdio.h>
    # include <conio.h>
    const int N1=100;
    int a[N1],i,*p,*imin,n,k;
    p=NULL;
    printf("\n Input n:");
    scanf("%d", &n);
    printf ("\n Input massiv:\n");
    for(i=1;i<=n;i++)
        scanf("%d",&a[i]);
    imin=a+1;
    for(i=1;i<=n;i++)
        if (a[i]<*imin)
            imin=a+i;
        
    for(i=1;i<=n;i++)
        if(a[i]<0) 
        {p=a+i;
        break;}
 
    if (p==NULL)
        printf("\n otricat net");
    else
    {k=*imin;
    *imin=*p;
    *p=k;}
 
       printf("\n massiv:");
    for(i=1;i<=n;i++)
       printf("\t %d",a[i]);
 
    getch();
}
Добавлено через 31 минуту
P.S. Не скажите где можно найти доходчиво объясняющие источники по указателям, а то у меня книги есть, но там все заумно написано и я не могу уловить главный смысл указателей
Что бы хорошо понять указатели ,как это ни плачевно , разумнее всего читать книги.

Главный смысл -
Каждый байт памяти пронумерован.
Каждому процессу выделяется его личная память, доступ к которой имеет только он, и никто другой, эту память он и использует для размещения переменных. Указатель - переменная(!), способная хранить адрес другой переменной, или ,грубо говоря, хранящая номер байта, содержащего начало другой переменной. Причем если этот байт находится вне памяти принадлежащей процессу, то попытка что-то сделать с ним приведет к ошибке сегментации (доступа).
Указатель задается вот так:
int *p;
на данном этапе значение p не определено, и операции *p и p[i] недопустимы!
Чтобы получить адрес переменной нужно использовать оператор & ;
int *p, a=4;
если мы сделаем так:
p=&a;
То мы сможем обращаться к a через операции *p и *p[0];
printf("%d",*p);
выдаст на экран 4.
так же если мы твердо уверены, что переменные b, c и d (|a|b|c|d|) стоят в памяти по порядку за переменной a, то обращение
p[1] или *(p+1) будет соответствовать переменной b
p[2] переменной с
*(p+3) переменной d
Нужно внимательно следить за указателями, так как их неправильное использование влечет за собой самые коварные и самые сложные для поиска ошибки.

Возможность работы с указателями является одним из главных преимуществ языков семейства Си.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru