C++ :: Find Valence Electrons From Atomic Number
Jun 8, 2014Finding valence electrons from atomic number in c++...
View 3 RepliesFinding valence electrons from atomic number in c++...
View 3 RepliesI am using atomic instructions on x64 and variables so used must be 16 byte aligned.
I use a number of structures where their members are so operated upon.
The structures accordingly needs must be 16 byte aligned and padded - their internal members must be on 16 byte boundaries and, crucially, there must be tail padding to a 16 byte boundary, so I can allocate arrays of these structures and use pointer math to iterate. (I am naturally using aligned malloc).
The problem I am finding is that it is not apparent to me how to achieve this end. Here below we have a test structure (currently I'm working with the latest Amazon Linux GCC, 4.6.3, on x64);
Code:
#define LFDS700_ALIGN_DOUBLE_POINTER 16
#define LFDS700_ALIGN(alignment) __attribute__( (aligned(alignment)) )
LFDS700_ALIGN(LFDS700_ALIGN_DOUBLE_POINTER) struct test_element
{
struct lfds700_freelist_element
[Code] ....
I allocate an array of test elements, thus;
Code:
te_array = abstraction_aligned_malloc( sizeof(struct test_element) * 100000, LFDS700_ALIGN_DOUBLE_POINTER );
The problem manifest is that sizeof(struct test_element) is 40 bytes! So the second element does not begin on a 16 byte boundary and we all fall down. Printing the addresses of the first element in the test element array, I see the following;
Code:
(gdb) print *ts->te_array
$2 = {fe = {next = {0x7fffec0008d0, 0x2}, user_data = 0x7fffdc0008d0}, thread_number = 3, datum = 0}
(gdb) print sizeof(struct test_element)
$3 = 40
(gdb) print &ts->te_array->fe.next
[Code] ....
So we see fe->next is the first element and so is correctly aligned curtsey of aligned malloc, where fe->next is 16 bytes, fe->user_data is correctly aligned, but then te->thread_number is misaligned and te->datum is given eight bytes rather than four, leaving us in the end without correct tail padding to a 16 byte boundary.
So, what gives? how *am* I supposed to indicate to the compiler it must pad structures to 16 byte boundaries?
Consider how to implement a mutex lock using an atomic hardware instruction. Assume that the following structure defining the mutex lock is available:
Code:
typedef struct {
int available;
}
lock; (available == 0)
indicates that the lock is available, and a value of 1 indicates that the lock is unavailable. Using this struct, illustrate how the following functions can be implemented using the test and set() and compare and swap() instructions:
void acquire(lock *mutex)
void release(lock *mutex)
Be sure to include any initialization that may be necessary.
Q. WAP to find the next palindrome number larger than the input number.
for eg:-
Input=25
Output=33
The program is giving correct output for number with all digits '9';
why is it not giving output.
#include<iostream>
#include<string>
using namespace std;
int main() {
int len,flag=1,count=0,num,ind;
[code]....
I want to find number of comparison and number of exchanges from a list or other than a list. My list is this
12 5 11 19 4 7 8 10 9 6 22 2 9 1 32
First, I am looking for number of comparisons from a list of 10 numbers with 21inversions made by selection sort, insertion sort, exchange sort.
Also, I like to find number of exchanges from a list of 10 numbers with 21inversions made by selection sort, insertion sort, exchange sort.
In the c pgm to find number of digits , if I am giving 001 as the input number ,why I am not getting the no. of digits as 3?
View 2 Replies View RelatedI am trying to find the max number entered by the user, and it should terminate when a negative number is entered. For my code, it will just end when the user inputs a lower number than the previous. i.e.- 10 20 15 "The highest number is 20" when it should be "10 20 5 40 15 -1" "The highest number is 40". No arrays or do/while loops either.
#include <iostream>
using namespace std;
int Max(int x);
int main() {
int x;
[Code] ....
I am entering numbers to float ... I want program to find out, which first number is not from specific interval. How to do it ? Example: Enter input : 5 10 20 30 50 46 . 30 is invalid. Here is the code :
Code:
while(scanf("%f",&input)!=EOF || input==0) {
sum=input+sum;
if (getchar() == '
[Code]....
I'm having this issue where my else if statements are not working. My program only works correctly when I go into my if statement and change the first part of my array to the specific row I am trying to find ex [0][i] to [1][i].
int getMonthMax(int scores[][COLS],int month){
int highestN=0,i, j;
for (i=0;i<ROWS-1;i++){
if(scores[0][i]>highestN){
highestN=scores[0][i];
[Code] .....
Write a function which takes string of integer numbers and length of a string. Function need to return value of element which is close to mean of all numbers and transform string without that element. If are more numbers in same "distance" of mean, function need to find first and throw that number-element.
In function without []..
with pointers.
I wrote this code below, programm find mean of elements and if mean is equal to any element of string.. the programm return that number. Idk how to delete that number and how to find closest.. for ex:
String=[4,7,10,3]
sum=24
mean=6
The progoramm need to delete 7 and new string look like String=[4,10,3]
insert Code:
#include <stdio.h>
int main()
{
int n,i;
printf("Elements of string ?
[Code]....
Its a code to find the largest number of a 3X3 matrix.The logic seems to be right........
Code:
#include<stdio.h>
main() {
int matrix[3][3],i,k,j,*a;
a=&matrix[0][0];
printf("Enter the elements");
for(i=0;i<=2;i++) {
[Code]....
how i can find the 5 without loop?
vector<int>i;
vector<int>j;
i.push_back(1);
i.push_back(2);
j.push_back(3);
j.push_back(4);
j.push_back(5);
[Code]...
I need to generate a grid of 10x8 and fill it with random numbers (max 70), then i need to find the smallest number within the random numbers generated and my "findSmallest" function does not seem to work and i do not know how to make it work...
Here my Code:
include <iostream>
using namespace std;
int main() {
int row=0;
int col=0;
int ArrayGrid [9][11];
srand(time(NULL));
[Code] .....
How to find the smallest number amongst 4 numbers
View 10 Replies View RelatedI'm trying to find the second smallest number out of 4 numbers. I produced some code that does that but it doesn't work if i have duplicate numbers.
secondSmallest = a;
if(b > secondSmallest) {
secondSmallest = b;
}
if(c < secondSmallest) {
[Code] ....
Write a program that will find the smallest, largest and average of the values in a collection of N positive integer numbers.
View 12 Replies View RelatedI have been struggling with this program. I am somewhat new to c and suck at logic. I have a personal program I want to make that I will try to get extra credit for in school. I have a printed set of winning lottery numbers form the last 10 years. I chose the easiest one do do logically which is just 5 numbers none repeating.
I am trying to find out how I can print the least common 10 sets. I think if there are any set which have not been picked I would have to print all of those because logically they would all be equal, then print sequentially the sets least picked up to 10.
I have pseudocode which I am sure is wrong but will post it just to show that I am trying. My first attempt was to add the numbers but quickly realized that that wouldn't work ...
5 Nums Pseudocode
Code:
Read Nums
Parse Into Ints
Make Array [185] //39+38+37+36+35 The highest the numbers added together can go
//LOGIC
[Code] ....
I use rand function to generate a number which consists of 3-5 digits(e.134,1435,73463..). The user decides whether he wants a 3 digit,4 digit or 5 digit number.After that,the user tries to guess the number.Its like mastermind game.The user will enter a number (with the same amount of digits) and the program will calculate how many digits from the secret number he has found and also how many digits he has found in the correct position(e.if the generatir produces the number 32541 and the user tries the number 49581 the program should tell him that he found 3 digits (5,1,4) and 2 digits in the correct position(5,1)) so that after some tries he finds the secret number.My problem is with the functions so that i can compare the digit of each number,find the amount of same digits and the amount of digits in same position.
View 5 Replies View Relatedi want to write a program which find the biggest prime factor of a number for example the biggest prime factor of six is three or the biggest prime factor of fifteen is five. What is my program bug
Code:
#include <stdio.h> // main functions
#include <math.h> // for sqrt function
int main()
{
int i, j, k, f; // F = Flag;
printf("Enter K
[Code]...
I am writing a program to find the square root of a number. I am using the Newton-Raphson method..Just to clarify a bit of the code.. fabs(1/(x+1)) < 0.001 is to check for relative error..
EXAMPLE: for user entry of 100 if the iteration process ends in 10.055 the answer will return as 10 which is correct. But it isn't doing that.
It compiles I then proceed to run it..prompts me "Enter a number to find the square root of: I type 100 then hit enter...
"The square root of 100 is -1077834936"
My first time writing a program from complete scratch.
And I know there is a sqrt() function...just wanted to write my own.
Code:
#include <stdio.h>
#include <math.h>
double mysqrt(double a);
int main()
{
double a, result;
printf("Enter a number to find the square root of: ");
[Code]...
While finding the primes , I do not know how to make it into one array so that...
View 7 Replies View RelatedI am supposed to write a recursive function which find the partition of a number n ,, for example if n=3 , it should print 1 1 1 , 1 2 , 3
I wrote the program but i am getting the two partition 1 2 and 2 1 which are the same ,, how can i avoid that ?
this is the code :
void PrintPartition( int n , int A[] , int j ) {
if( n<=0 ) {
printArray( A, j );
return ;
} for( int i=1 ; i<=n ; i++ ) {
A[j]=i;
PrintPartition( n-i , A ,j+1 );
} }
the first call of the function is : PrintPartition( n , A , 0 ) ;
This is just the portion of my program. This program displays Not Found even if the id number is found.
void search(void) {
char ID[10];
int i, found;
cout<<"Enter ID to search: ";
gets(ID);
found=0;
for(i=0;i<top;i++)
[Code] .....
Here's the incorrect output
Enter ID to search: 111
Not found
Name: jude
ID: 111
Semester: 1
Major: IT
I just want to remove the "Not found".
Given an integer, find the sum of all the digits in the number until the sum becomes a single digit. E.g. sum of digits of 9264 = 21. Then sum of 21 = 3.
View 2 Replies View RelatedHow does one read the number of characters in a .txt file excluding the spaces? Here is my code so far. I am getting 67, which is the correct number including spaces but can't find out how to exclude them. Here's my code!
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
/////////------------------/////////
//Function Prototypes//
int fileLength();
[Code] .....
i'm trying to use binary search to find a number in the array but i dont know whats wrong with my code. When l enter a number which DOES exist in the array, everything is ok... but when i enter a number which does NOT exist in the array, i have problem...i cant exit the program, it just continues to run.Here is my code
int main()
{
int FirstPosition;
[Code]....